<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621679493581"><span id="local-6989586621679493582"><span id="local-6989586621679493583"><span id="local-6989586621679493584"><span id="local-6989586621679493585"><span id="local-6989586621679493586"></span></span></span></span></span></span><span class="hs-pragma">{-# LANGUAGE BangPatterns #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE MagicHash #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE NoImplicitPrelude #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE StandaloneDeriving #-}</span><span>
</span><span id="line-6"></span><span class="hs-pragma">{-# LANGUAGE Trustworthy #-}</span><span>
</span><span id="line-7"></span><span class="hs-pragma">{-# OPTIONS_HADDOCK not-home #-}</span><span>
</span><span id="line-8"></span><span>
</span><span id="line-9"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Module      :  GHC.Enum</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Copyright   :  (c) The University of Glasgow, 1992-2002</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- License     :  see libraries/base/LICENSE</span><span>
</span><span id="line-14"></span><span class="hs-comment">--</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- Maintainer  :  cvs-ghc@haskell.org</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- Stability   :  internal</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- Portability :  non-portable (GHC extensions)</span><span>
</span><span id="line-18"></span><span class="hs-comment">--</span><span>
</span><span id="line-19"></span><span class="hs-comment">-- The 'Enum' and 'Bounded' classes.</span><span>
</span><span id="line-20"></span><span class="hs-comment">--</span><span>
</span><span id="line-21"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span class="hs-cpp">

#include &quot;MachDeps.h&quot;
</span><span>
</span><span id="line-25"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Enum</span><span class="hs-special">(</span><span>
</span><span id="line-26"></span><span>        </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier">Bounded</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier">Enum</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-27"></span><span>        </span><span class="annot"><a href="GHC.Enum.html#boundedEnumFrom"><span class="hs-identifier">boundedEnumFrom</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#boundedEnumFromThen"><span class="hs-identifier">boundedEnumFromThen</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-28"></span><span>        </span><span class="annot"><a href="GHC.Enum.html#toEnumError"><span class="hs-identifier">toEnumError</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#fromEnumError"><span class="hs-identifier">fromEnumError</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#succError"><span class="hs-identifier">succError</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#predError"><span class="hs-identifier">predError</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span>        </span><span class="hs-comment">-- Instances for Bounded and Enum: (), Char, Int</span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span>   </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Base.html"><span class="hs-identifier">GHC.Base</span></a></span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Base.html#many"><span class="hs-identifier">many</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Char.html"><span class="hs-identifier">GHC.Char</span></a></span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#"><span class="hs-identifier">GHC.Num.Integer</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.html"><span class="hs-identifier">GHC.Num</span></a></span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Show.html"><span class="hs-identifier">GHC.Show</span></a></span><span>
</span><span id="line-39"></span><span class="hs-keyword">default</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>              </span><span class="hs-comment">-- Double isn't available yet</span><span>
</span><span id="line-40"></span><span>
</span><span id="line-41"></span><span class="hs-comment">-- | The 'Bounded' class is used to name the upper and lower limits of a</span><span>
</span><span id="line-42"></span><span class="hs-comment">-- type.  'Ord' is not a superclass of 'Bounded' since types that are not</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- totally ordered may also have upper and lower bounds.</span><span>
</span><span id="line-44"></span><span class="hs-comment">--</span><span>
</span><span id="line-45"></span><span class="hs-comment">-- The 'Bounded' class may be derived for any enumeration type;</span><span>
</span><span id="line-46"></span><span class="hs-comment">-- 'minBound' is the first constructor listed in the @data@ declaration</span><span>
</span><span id="line-47"></span><span class="hs-comment">-- and 'maxBound' is the last.</span><span>
</span><span id="line-48"></span><span class="hs-comment">-- 'Bounded' may also be derived for single-constructor datatypes whose</span><span>
</span><span id="line-49"></span><span class="hs-comment">-- constituent types are in 'Bounded'.</span><span>
</span><span id="line-50"></span><span>
</span><span id="line-51"></span><span class="hs-keyword">class</span><span>  </span><span id="Bounded"><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var">Bounded</span></a></span></span><span> </span><span id="local-6989586621679493893"><span class="annot"><a href="#local-6989586621679493893"><span class="hs-identifier hs-type">a</span></a></span></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-52"></span><span>    </span><span id="minBound"><span class="annot"><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-type">minBound</span></a></span></span><span class="hs-special">,</span><span> </span><span id="maxBound"><span class="annot"><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-type">maxBound</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493893"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-53"></span><span>
</span><span id="line-54"></span><span class="hs-comment">-- | Class 'Enum' defines operations on sequentially ordered types.</span><span>
</span><span id="line-55"></span><span class="hs-comment">--</span><span>
</span><span id="line-56"></span><span class="hs-comment">-- The @enumFrom@... methods are used in Haskell's translation of</span><span>
</span><span id="line-57"></span><span class="hs-comment">-- arithmetic sequences.</span><span>
</span><span id="line-58"></span><span class="hs-comment">--</span><span>
</span><span id="line-59"></span><span class="hs-comment">-- Instances of 'Enum' may be derived for any enumeration type (types</span><span>
</span><span id="line-60"></span><span class="hs-comment">-- whose constructors have no fields).  The nullary constructors are</span><span>
</span><span id="line-61"></span><span class="hs-comment">-- assumed to be numbered left-to-right by 'fromEnum' from @0@ through @n-1@.</span><span>
</span><span id="line-62"></span><span class="hs-comment">-- See Chapter 10 of the /Haskell Report/ for more details.</span><span>
</span><span id="line-63"></span><span class="hs-comment">--</span><span>
</span><span id="line-64"></span><span class="hs-comment">-- For any type that is an instance of class 'Bounded' as well as 'Enum',</span><span>
</span><span id="line-65"></span><span class="hs-comment">-- the following should hold:</span><span>
</span><span id="line-66"></span><span class="hs-comment">--</span><span>
</span><span id="line-67"></span><span class="hs-comment">-- * The calls @'succ' 'maxBound'@ and @'pred' 'minBound'@ should result in</span><span>
</span><span id="line-68"></span><span class="hs-comment">--   a runtime error.</span><span>
</span><span id="line-69"></span><span class="hs-comment">--</span><span>
</span><span id="line-70"></span><span class="hs-comment">-- * 'fromEnum' and 'toEnum' should give a runtime error if the</span><span>
</span><span id="line-71"></span><span class="hs-comment">--   result value is not representable in the result type.</span><span>
</span><span id="line-72"></span><span class="hs-comment">--   For example, @'toEnum' 7 :: 'Bool'@ is an error.</span><span>
</span><span id="line-73"></span><span class="hs-comment">--</span><span>
</span><span id="line-74"></span><span class="hs-comment">-- * 'enumFrom' and 'enumFromThen' should be defined with an implicit bound,</span><span>
</span><span id="line-75"></span><span class="hs-comment">--   thus:</span><span>
</span><span id="line-76"></span><span class="hs-comment">--</span><span>
</span><span id="line-77"></span><span class="hs-comment">-- &gt;    enumFrom     x   = enumFromTo     x maxBound</span><span>
</span><span id="line-78"></span><span class="hs-comment">-- &gt;    enumFromThen x y = enumFromThenTo x y bound</span><span>
</span><span id="line-79"></span><span class="hs-comment">-- &gt;      where</span><span>
</span><span id="line-80"></span><span class="hs-comment">-- &gt;        bound | fromEnum y &gt;= fromEnum x = maxBound</span><span>
</span><span id="line-81"></span><span class="hs-comment">-- &gt;              | otherwise                = minBound</span><span>
</span><span id="line-82"></span><span class="hs-comment">--</span><span>
</span><span id="line-83"></span><span class="hs-keyword">class</span><span>  </span><span id="Enum"><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-var">Enum</span></a></span></span><span> </span><span id="local-6989586621679493902"><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-84"></span><span>    </span><span class="hs-comment">-- | the successor of a value.  For numeric types, 'succ' adds 1.</span><span>
</span><span id="line-85"></span><span>    </span><span id="succ"><span class="annot"><a href="GHC.Enum.html#succ"><span class="hs-identifier hs-type">succ</span></a></span></span><span>                </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-86"></span><span>    </span><span class="hs-comment">-- | the predecessor of a value.  For numeric types, 'pred' subtracts 1.</span><span>
</span><span id="line-87"></span><span>    </span><span id="pred"><span class="annot"><a href="GHC.Enum.html#pred"><span class="hs-identifier hs-type">pred</span></a></span></span><span>                </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-88"></span><span>    </span><span class="hs-comment">-- | Convert from an 'Int'.</span><span>
</span><span id="line-89"></span><span>    </span><span id="toEnum"><span class="annot"><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-type">toEnum</span></a></span></span><span>              </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-90"></span><span>    </span><span class="hs-comment">-- | Convert to an 'Int'.</span><span>
</span><span id="line-91"></span><span>    </span><span class="hs-comment">-- It is implementation-dependent what 'fromEnum' returns when</span><span>
</span><span id="line-92"></span><span>    </span><span class="hs-comment">-- applied to a value that is too large to fit in an 'Int'.</span><span>
</span><span id="line-93"></span><span>    </span><span id="fromEnum"><span class="annot"><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-type">fromEnum</span></a></span></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span>    </span><span class="hs-comment">-- | Used in Haskell's translation of @[n..]@ with @[n..] = enumFrom n@,</span><span>
</span><span id="line-96"></span><span>    </span><span class="hs-comment">--   a possible implementation being @enumFrom n = n : enumFrom (succ n)@.</span><span>
</span><span id="line-97"></span><span>    </span><span class="hs-comment">--   For example:</span><span>
</span><span id="line-98"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-99"></span><span>    </span><span class="hs-comment">--     * @enumFrom 4 :: [Integer] = [4,5,6,7,...]@</span><span>
</span><span id="line-100"></span><span>    </span><span class="hs-comment">--     * @enumFrom 6 :: [Int] = [6,7,8,9,...,maxBound :: Int]@</span><span>
</span><span id="line-101"></span><span>    </span><span id="enumFrom"><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-type">enumFrom</span></a></span></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-102"></span><span>    </span><span class="hs-comment">-- | Used in Haskell's translation of @[n,n'..]@</span><span>
</span><span id="line-103"></span><span>    </span><span class="hs-comment">--   with @[n,n'..] = enumFromThen n n'@, a possible implementation being</span><span>
</span><span id="line-104"></span><span>    </span><span class="hs-comment">--   @enumFromThen n n' = n : n' : worker (f x) (f x n')@,</span><span>
</span><span id="line-105"></span><span>    </span><span class="hs-comment">--   @worker s v = v : worker s (s v)@, @x = fromEnum n' - fromEnum n@ and</span><span>
</span><span id="line-106"></span><span>    </span><span class="hs-comment">--   @f n y</span><span>
</span><span id="line-107"></span><span>    </span><span class="hs-comment">--     | n &gt; 0 = f (n - 1) (succ y)</span><span>
</span><span id="line-108"></span><span>    </span><span class="hs-comment">--     | n &lt; 0 = f (n + 1) (pred y)</span><span>
</span><span id="line-109"></span><span>    </span><span class="hs-comment">--     | otherwise = y@</span><span>
</span><span id="line-110"></span><span>    </span><span class="hs-comment">--   For example:</span><span>
</span><span id="line-111"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-112"></span><span>    </span><span class="hs-comment">--     * @enumFromThen 4 6 :: [Integer] = [4,6,8,10...]@</span><span>
</span><span id="line-113"></span><span>    </span><span class="hs-comment">--     * @enumFromThen 6 2 :: [Int] = [6,2,-2,-6,...,minBound :: Int]@</span><span>
</span><span id="line-114"></span><span>    </span><span id="enumFromThen"><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-type">enumFromThen</span></a></span></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-115"></span><span>    </span><span class="hs-comment">-- | Used in Haskell's translation of @[n..m]@ with</span><span>
</span><span id="line-116"></span><span>    </span><span class="hs-comment">--   @[n..m] = enumFromTo n m@, a possible implementation being</span><span>
</span><span id="line-117"></span><span>    </span><span class="hs-comment">--   @enumFromTo n m</span><span>
</span><span id="line-118"></span><span>    </span><span class="hs-comment">--      | n &lt;= m = n : enumFromTo (succ n) m</span><span>
</span><span id="line-119"></span><span>    </span><span class="hs-comment">--      | otherwise = []@.</span><span>
</span><span id="line-120"></span><span>    </span><span class="hs-comment">--   For example:</span><span>
</span><span id="line-121"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-122"></span><span>    </span><span class="hs-comment">--     * @enumFromTo 6 10 :: [Int] = [6,7,8,9,10]@</span><span>
</span><span id="line-123"></span><span>    </span><span class="hs-comment">--     * @enumFromTo 42 1 :: [Integer] = []@</span><span>
</span><span id="line-124"></span><span>    </span><span id="enumFromTo"><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-type">enumFromTo</span></a></span></span><span>          </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-125"></span><span>    </span><span class="hs-comment">-- | Used in Haskell's translation of @[n,n'..m]@ with</span><span>
</span><span id="line-126"></span><span>    </span><span class="hs-comment">--   @[n,n'..m] = enumFromThenTo n n' m@, a possible implementation</span><span>
</span><span id="line-127"></span><span>    </span><span class="hs-comment">--   being @enumFromThenTo n n' m = worker (f x) (c x) n m@,</span><span>
</span><span id="line-128"></span><span>    </span><span class="hs-comment">--   @x = fromEnum n' - fromEnum n@, @c x = bool (&gt;=) (&lt;=) (x &gt; 0)@</span><span>
</span><span id="line-129"></span><span>    </span><span class="hs-comment">--   @f n y</span><span>
</span><span id="line-130"></span><span>    </span><span class="hs-comment">--      | n &gt; 0 = f (n - 1) (succ y)</span><span>
</span><span id="line-131"></span><span>    </span><span class="hs-comment">--      | n &lt; 0 = f (n + 1) (pred y)</span><span>
</span><span id="line-132"></span><span>    </span><span class="hs-comment">--      | otherwise = y@ and</span><span>
</span><span id="line-133"></span><span>    </span><span class="hs-comment">--   @worker s c v m</span><span>
</span><span id="line-134"></span><span>    </span><span class="hs-comment">--      | c v m = v : worker s c (s v) m</span><span>
</span><span id="line-135"></span><span>    </span><span class="hs-comment">--      | otherwise = []@</span><span>
</span><span id="line-136"></span><span>    </span><span class="hs-comment">--   For example:</span><span>
</span><span id="line-137"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-138"></span><span>    </span><span class="hs-comment">--     * @enumFromThenTo 4 2 -6 :: [Integer] = [4,2,0,-2,-4,-6]@</span><span>
</span><span id="line-139"></span><span>    </span><span class="hs-comment">--     * @enumFromThenTo 6 8 2 :: [Int] = []@</span><span>
</span><span id="line-140"></span><span>    </span><span id="enumFromThenTo"><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-type">enumFromThenTo</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679493902"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span>    </span><span id="local-6989586621679493556"><span class="annot"><a href="GHC.Enum.html#succ"><span class="hs-identifier hs-var hs-var">succ</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; (a -&gt; Int) -&gt; a -&gt; a
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; Int) -&gt; (a -&gt; Int) -&gt; a -&gt; Int
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span></span><span>
</span><span id="line-143"></span><span>
</span><span id="line-144"></span><span>    </span><span id="local-6989586621679493548"><span class="annot"><a href="GHC.Enum.html#pred"><span class="hs-identifier hs-var hs-var">pred</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; (a -&gt; Int) -&gt; a -&gt; a
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#subtract"><span class="hs-identifier hs-var">subtract</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; Int) -&gt; (a -&gt; Int) -&gt; a -&gt; Int
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span></span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-147"></span><span>    </span><span class="hs-pragma">{-# INLINABLE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-pragma hs-type">enumFrom</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-148"></span><span>    </span><span id="local-6989586621679493542"><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var">enumFrom</span></a></span><span> </span><span id="local-6989586621679493537"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493537"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493537"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-glyph">..</span><span class="hs-special">]</span></span><span>
</span><span id="line-149"></span><span>
</span><span id="line-150"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-151"></span><span>    </span><span class="hs-pragma">{-# INLINABLE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-pragma hs-type">enumFromThen</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-152"></span><span>    </span><span id="local-6989586621679493536"><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var">enumFromThen</span></a></span><span> </span><span id="local-6989586621679493531"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493531"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679493530"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493530"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493531"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493530"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">..</span><span class="hs-special">]</span></span><span>
</span><span id="line-153"></span><span>
</span><span id="line-154"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-155"></span><span>    </span><span class="hs-pragma">{-# INLINABLE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-pragma hs-type">enumFromTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-156"></span><span>    </span><span id="local-6989586621679493529"><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var">enumFromTo</span></a></span><span> </span><span id="local-6989586621679493524"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493524"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679493523"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493523"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493524"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-glyph">..</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493523"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-157"></span><span>
</span><span id="line-158"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-159"></span><span>    </span><span class="hs-pragma">{-# INLINABLE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-pragma hs-type">enumFromThenTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-160"></span><span>    </span><span id="local-6989586621679493522"><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var">enumFromThenTo</span></a></span><span> </span><span id="local-6989586621679493516"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493516"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679493515"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493515"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679493514"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493514"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493516"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493515"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="hs-glyph">..</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493514"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-163"></span><span class="hs-pragma">{-# INLINABLE</span><span> </span><span class="annot"><a href="GHC.Enum.html#boundedEnumFrom"><span class="hs-pragma hs-type">boundedEnumFrom</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-164"></span><span class="hs-comment">-- Default methods for bounded enumerations</span><span>
</span><span id="line-165"></span><span id="local-6989586621679493895"><span class="annot"><a href="GHC.Enum.html#boundedEnumFrom"><span class="hs-identifier hs-type">boundedEnumFrom</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493895"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493895"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493895"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679493895"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-166"></span><span id="boundedEnumFrom"><span class="annot"><span class="annottext">boundedEnumFrom :: forall a. (Enum a, Bounded a) =&gt; a -&gt; [a]
</span><a href="GHC.Enum.html#boundedEnumFrom"><span class="hs-identifier hs-var hs-var">boundedEnumFrom</span></a></span></span><span> </span><span id="local-6989586621679493506"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493506"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493506"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-glyph">..</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. a -&gt; a -&gt; a
</span><a href="GHC.Base.html#asTypeOf"><span class="hs-operator hs-var">`asTypeOf`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493506"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-167"></span><span>
</span><span id="line-168"></span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-169"></span><span class="hs-pragma">{-# INLINABLE</span><span> </span><span class="annot"><a href="GHC.Enum.html#boundedEnumFromThen"><span class="hs-pragma hs-type">boundedEnumFromThen</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-170"></span><span id="local-6989586621679493891"><span class="annot"><a href="GHC.Enum.html#boundedEnumFromThen"><span class="hs-identifier hs-type">boundedEnumFromThen</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493891"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493891"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493891"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493891"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679493891"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-171"></span><span id="boundedEnumFromThen"><span class="annot"><span class="annottext">boundedEnumFromThen :: forall a. (Enum a, Bounded a) =&gt; a -&gt; a -&gt; [a]
</span><a href="GHC.Enum.html#boundedEnumFromThen"><span class="hs-identifier hs-var hs-var">boundedEnumFromThen</span></a></span></span><span> </span><span id="local-6989586621679493492"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493492"><span class="hs-identifier hs-var">n1</span></a></span></span><span> </span><span id="local-6989586621679493491"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493491"><span class="hs-identifier hs-var">n2</span></a></span></span><span>
</span><span id="line-172"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493490"><span class="hs-identifier hs-var">i_n2</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493489"><span class="hs-identifier hs-var">i_n1</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493489"><span class="hs-identifier hs-var">i_n1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493490"><span class="hs-identifier hs-var">i_n2</span></a></span><span> </span><span class="hs-glyph">..</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. a -&gt; a -&gt; a
</span><a href="GHC.Base.html#asTypeOf"><span class="hs-operator hs-var">`asTypeOf`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493492"><span class="hs-identifier hs-var">n1</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-173"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; a) -&gt; [Int] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; a
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493489"><span class="hs-identifier hs-var">i_n1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493490"><span class="hs-identifier hs-var">i_n2</span></a></span><span> </span><span class="hs-glyph">..</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-var">minBound</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. a -&gt; a -&gt; a
</span><a href="GHC.Base.html#asTypeOf"><span class="hs-operator hs-var">`asTypeOf`</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493492"><span class="hs-identifier hs-var">n1</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-174"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-175"></span><span>    </span><span id="local-6989586621679493489"><span class="annot"><span class="annottext">i_n1 :: Int
</span><a href="#local-6989586621679493489"><span class="hs-identifier hs-var hs-var">i_n1</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493492"><span class="hs-identifier hs-var">n1</span></a></span><span>
</span><span id="line-176"></span><span>    </span><span id="local-6989586621679493490"><span class="annot"><span class="annottext">i_n2 :: Int
</span><a href="#local-6989586621679493490"><span class="hs-identifier hs-var hs-var">i_n2</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493491"><span class="hs-identifier hs-var">n2</span></a></span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span class="hs-comment">{-
Note [Stable Unfolding for list producers]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The INLINABLE/INLINE pragmas ensure that we export stable (unoptimised)
unfoldings in the interface file so we can do list fusion at usage sites.
-}</span><span>
</span><span id="line-185"></span><span>
</span><span id="line-186"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-187"></span><span class="hs-comment">-- Helper functions</span><span>
</span><span id="line-188"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-189"></span><span>
</span><span id="line-190"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#toEnumError"><span class="hs-pragma hs-type">toEnumError</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-191"></span><span id="local-6989586621679493887"><span id="local-6989586621679493888"><span class="annot"><a href="GHC.Enum.html#toEnumError"><span class="hs-identifier hs-type">toEnumError</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Show.html#Show"><span class="hs-identifier hs-type">Show</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493888"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493888"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493888"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493887"><span class="hs-identifier hs-type">b</span></a></span></span></span><span>
</span><span id="line-192"></span><span id="toEnumError"><span class="annot"><span class="annottext">toEnumError :: forall a b. Show a =&gt; String -&gt; Int -&gt; (a, a) -&gt; b
</span><a href="GHC.Enum.html#toEnumError"><span class="hs-identifier hs-var hs-var">toEnumError</span></a></span></span><span> </span><span id="local-6989586621679493481"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493481"><span class="hs-identifier hs-var">inst_ty</span></a></span></span><span> </span><span id="local-6989586621679493480"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493480"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679493479"><span class="annot"><span class="annottext">(a, a)
</span><a href="#local-6989586621679493479"><span class="hs-identifier hs-var">bnds</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-193"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; b
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; b) -&gt; String -&gt; b
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Enum.toEnum{&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493481"><span class="hs-identifier hs-var">inst_ty</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;}: tag (&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-194"></span><span>            </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493480"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-195"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;) is outside of bounds &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-196"></span><span>            </span><span class="annot"><span class="annottext">(a, a) -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">(a, a)
</span><a href="#local-6989586621679493479"><span class="hs-identifier hs-var">bnds</span></a></span><span>
</span><span id="line-197"></span><span>
</span><span id="line-198"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#fromEnumError"><span class="hs-pragma hs-type">fromEnumError</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-199"></span><span id="local-6989586621679493874"><span id="local-6989586621679493875"><span class="annot"><a href="GHC.Enum.html#fromEnumError"><span class="hs-identifier hs-type">fromEnumError</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Show.html#Show"><span class="hs-identifier hs-type">Show</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493875"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493875"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493874"><span class="hs-identifier hs-type">b</span></a></span></span></span><span>
</span><span id="line-200"></span><span id="fromEnumError"><span class="annot"><span class="annottext">fromEnumError :: forall a b. Show a =&gt; String -&gt; a -&gt; b
</span><a href="GHC.Enum.html#fromEnumError"><span class="hs-identifier hs-var hs-var">fromEnumError</span></a></span></span><span> </span><span id="local-6989586621679493468"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493468"><span class="hs-identifier hs-var">inst_ty</span></a></span></span><span> </span><span id="local-6989586621679493467"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493467"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-201"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; b
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; b) -&gt; String -&gt; b
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Enum.fromEnum{&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493468"><span class="hs-identifier hs-var">inst_ty</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;}: value (&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-202"></span><span>            </span><span class="annot"><span class="annottext">a -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679493467"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-203"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;) is outside of Int's bounds &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-204"></span><span>            </span><span class="annot"><span class="annottext">(Int, Int) -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-var">minBound</span></a></span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-205"></span><span>
</span><span id="line-206"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#succError"><span class="hs-pragma hs-type">succError</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-207"></span><span id="local-6989586621679493871"><span class="annot"><a href="GHC.Enum.html#succError"><span class="hs-identifier hs-type">succError</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493871"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-208"></span><span id="succError"><span class="annot"><span class="annottext">succError :: forall a. String -&gt; a
</span><a href="GHC.Enum.html#succError"><span class="hs-identifier hs-var hs-var">succError</span></a></span></span><span> </span><span id="local-6989586621679493466"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493466"><span class="hs-identifier hs-var">inst_ty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-209"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; a
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; a) -&gt; String -&gt; a
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Enum.succ{&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493466"><span class="hs-identifier hs-var">inst_ty</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;}: tried to take `succ' of maxBound&quot;</span></span><span>
</span><span id="line-210"></span><span>
</span><span id="line-211"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#predError"><span class="hs-pragma hs-type">predError</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-212"></span><span id="local-6989586621679493465"><span class="annot"><a href="GHC.Enum.html#predError"><span class="hs-identifier hs-type">predError</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493465"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-213"></span><span id="predError"><span class="annot"><span class="annottext">predError :: forall a. String -&gt; a
</span><a href="GHC.Enum.html#predError"><span class="hs-identifier hs-var hs-var">predError</span></a></span></span><span> </span><span id="local-6989586621679493464"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493464"><span class="hs-identifier hs-var">inst_ty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-214"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; a
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; a) -&gt; String -&gt; a
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Enum.pred{&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679493464"><span class="hs-identifier hs-var">inst_ty</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;}: tried to take `pred' of minBound&quot;</span></span><span>
</span><span id="line-215"></span><span>
</span><span id="line-216"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-217"></span><span class="hs-comment">-- Tuples</span><span>
</span><span id="line-218"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-221"></span><span id="local-6989586621679493460"><span id="local-6989586621679493462"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span></span><span>
</span><span id="line-222"></span><span>
</span><span id="line-223"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-224"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-225"></span><span>    </span><span id="local-6989586621679493447"><span class="annot"><span class="annottext">succ :: () -&gt; ()
</span><a href="#local-6989586621679493447"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span class="annot"><span class="annottext">()
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ()
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.().succ: bad argument&quot;</span></span><span>
</span><span id="line-226"></span><span>    </span><span id="local-6989586621679493446"><span class="annot"><span class="annottext">pred :: () -&gt; ()
</span><a href="#local-6989586621679493446"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span class="annot"><span class="annottext">()
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ()
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.().pred: bad argument&quot;</span></span><span>
</span><span id="line-227"></span><span>
</span><span id="line-228"></span><span>    </span><span id="local-6989586621679493442"><span class="annot"><span class="annottext">toEnum :: Int -&gt; ()
</span><a href="#local-6989586621679493442"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span> </span><span id="local-6989586621679493441"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493441"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679493441"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-229"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ()
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.().toEnum: bad argument&quot;</span></span><span>
</span><span id="line-230"></span><span>
</span><span id="line-231"></span><span>    </span><span id="local-6989586621679493440"><span class="annot"><span class="annottext">fromEnum :: () -&gt; Int
</span><a href="#local-6989586621679493440"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-232"></span><span>    </span><span id="local-6989586621679493439"><span class="annot"><span class="annottext">enumFrom :: () -&gt; [()]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-233"></span><span>    </span><span id="local-6989586621679493438"><span class="annot"><span class="annottext">enumFromThen :: () -&gt; () -&gt; [()]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679493437"><span class="annot"><span class="annottext">many :: [()]
</span><a href="#local-6989586621679493437"><span class="hs-identifier hs-var hs-var">many</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="annot"><span class="annottext">() -&gt; [()] -&gt; [()]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span class="annot"><span class="annottext">[()]
</span><a href="#local-6989586621679493437"><span class="hs-identifier hs-var">many</span></a></span><span> </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">[()]
</span><a href="#local-6989586621679493437"><span class="hs-identifier hs-var">many</span></a></span><span>
</span><span id="line-234"></span><span>    </span><span id="local-6989586621679493436"><span class="annot"><span class="annottext">enumFromTo :: () -&gt; () -&gt; [()]
</span><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-235"></span><span>    </span><span id="local-6989586621679493435"><span class="annot"><span class="annottext">enumFromThenTo :: () -&gt; () -&gt; () -&gt; [()]
</span><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThenTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679493434"><span class="annot"><span class="annottext">many :: [()]
</span><a href="#local-6989586621679493434"><span class="hs-identifier hs-var hs-var">many</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="annot"><span class="annottext">() -&gt; [()] -&gt; [()]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span class="annot"><span class="annottext">[()]
</span><a href="#local-6989586621679493434"><span class="hs-identifier hs-var">many</span></a></span><span> </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">[()]
</span><a href="#local-6989586621679493434"><span class="hs-identifier hs-var">many</span></a></span><span>
</span><span id="line-236"></span><span>
</span><span id="line-237"></span><span class="hs-comment">-- Report requires instances up to 15</span><span>
</span><span id="line-238"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-239"></span><span id="local-6989586621679493426"><span id="local-6989586621679493430"><span id="local-6989586621679493863"><span id="local-6989586621679493864"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493864"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493863"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-240"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493864"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493863"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span></span></span></span></span><span>
</span><span id="line-241"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-242"></span><span id="local-6989586621679493413"><span id="local-6989586621679493418"><span id="local-6989586621679493857"><span id="local-6989586621679493858"><span id="local-6989586621679493859"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493859"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493858"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493857"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-243"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493859"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493858"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493857"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">)</span></span></span></span></span></span><span>
</span><span id="line-244"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-245"></span><span id="local-6989586621679493397"><span id="local-6989586621679493403"><span id="local-6989586621679493849"><span id="local-6989586621679493850"><span id="local-6989586621679493851"><span id="local-6989586621679493852"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493852"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493851"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493850"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493849"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-246"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493852"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493851"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493850"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493849"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span><span>
</span><span id="line-247"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-248"></span><span id="local-6989586621679493378"><span id="local-6989586621679493385"><span id="local-6989586621679493839"><span id="local-6989586621679493840"><span id="local-6989586621679493841"><span id="local-6989586621679493842"><span id="local-6989586621679493843"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493843"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493842"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493841"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493840"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493839"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-249"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493843"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493842"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493841"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493840"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493839"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span><span>
</span><span id="line-250"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-251"></span><span id="local-6989586621679493356"><span id="local-6989586621679493364"><span id="local-6989586621679493827"><span id="local-6989586621679493828"><span id="local-6989586621679493829"><span id="local-6989586621679493830"><span id="local-6989586621679493831"><span id="local-6989586621679493832"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493832"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493831"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493830"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493829"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493828"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-252"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493827"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-253"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493832"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493831"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493830"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493829"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493828"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493827"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span><span>
</span><span id="line-254"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-255"></span><span id="local-6989586621679493331"><span id="local-6989586621679493340"><span id="local-6989586621679493813"><span id="local-6989586621679493814"><span id="local-6989586621679493815"><span id="local-6989586621679493816"><span id="local-6989586621679493817"><span id="local-6989586621679493818"><span id="local-6989586621679493819"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493819"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493818"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493817"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493816"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493815"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-256"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493814"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493813"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-257"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493819"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493818"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493817"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493816"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493815"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493814"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493813"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-258"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-259"></span><span id="local-6989586621679493303"><span id="local-6989586621679493313"><span id="local-6989586621679493797"><span id="local-6989586621679493798"><span id="local-6989586621679493799"><span id="local-6989586621679493800"><span id="local-6989586621679493801"><span id="local-6989586621679493802"><span id="local-6989586621679493803"><span id="local-6989586621679493804"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493804"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493803"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493802"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493801"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493800"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-260"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493799"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493798"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493797"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-261"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493804"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493803"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493802"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493801"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493800"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493799"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493798"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493797"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-262"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-263"></span><span id="local-6989586621679493272"><span id="local-6989586621679493283"><span id="local-6989586621679493779"><span id="local-6989586621679493780"><span id="local-6989586621679493781"><span id="local-6989586621679493782"><span id="local-6989586621679493783"><span id="local-6989586621679493784"><span id="local-6989586621679493785"><span id="local-6989586621679493786"><span id="local-6989586621679493787"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493787"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493786"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493785"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493784"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493783"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-264"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493782"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493781"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493780"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493779"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-265"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493787"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493786"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493785"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493784"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493783"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493782"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493781"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493780"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493779"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-266"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-267"></span><span id="local-6989586621679493238"><span id="local-6989586621679493250"><span id="local-6989586621679493759"><span id="local-6989586621679493760"><span id="local-6989586621679493761"><span id="local-6989586621679493762"><span id="local-6989586621679493763"><span id="local-6989586621679493764"><span id="local-6989586621679493765"><span id="local-6989586621679493766"><span id="local-6989586621679493767"><span id="local-6989586621679493768"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493768"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493767"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493766"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493765"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493764"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-268"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493763"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493762"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493761"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493760"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493759"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-269"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493768"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493767"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493766"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493765"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493764"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493763"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493762"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493761"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493760"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493759"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-270"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-271"></span><span id="local-6989586621679493201"><span id="local-6989586621679493214"><span id="local-6989586621679493737"><span id="local-6989586621679493738"><span id="local-6989586621679493739"><span id="local-6989586621679493740"><span id="local-6989586621679493741"><span id="local-6989586621679493742"><span id="local-6989586621679493743"><span id="local-6989586621679493744"><span id="local-6989586621679493745"><span id="local-6989586621679493746"><span id="local-6989586621679493747"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493747"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493746"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493745"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493744"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493743"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-272"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493742"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493741"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493740"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493739"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493738"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493737"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-273"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493747"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493746"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493745"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493744"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493743"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493742"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493741"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493740"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493739"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493738"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493737"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-274"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-275"></span><span id="local-6989586621679493161"><span id="local-6989586621679493175"><span id="local-6989586621679493713"><span id="local-6989586621679493714"><span id="local-6989586621679493715"><span id="local-6989586621679493716"><span id="local-6989586621679493717"><span id="local-6989586621679493718"><span id="local-6989586621679493719"><span id="local-6989586621679493720"><span id="local-6989586621679493721"><span id="local-6989586621679493722"><span id="local-6989586621679493723"><span id="local-6989586621679493724"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493724"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493723"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493722"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493721"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493720"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-276"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493719"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493718"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493717"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493716"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493715"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493714"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-277"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493713"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-278"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493724"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493723"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493722"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493721"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493720"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493719"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493718"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493717"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493716"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493715"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493714"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493713"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-279"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-280"></span><span id="local-6989586621679493118"><span id="local-6989586621679493133"><span id="local-6989586621679493687"><span id="local-6989586621679493688"><span id="local-6989586621679493689"><span id="local-6989586621679493690"><span id="local-6989586621679493691"><span id="local-6989586621679493692"><span id="local-6989586621679493693"><span id="local-6989586621679493694"><span id="local-6989586621679493695"><span id="local-6989586621679493696"><span id="local-6989586621679493697"><span id="local-6989586621679493698"><span id="local-6989586621679493699"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493699"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493698"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493697"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493696"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493695"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-281"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493694"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493693"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493692"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493691"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493690"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493689"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-282"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493688"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493687"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-283"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493699"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493698"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493697"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493696"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493695"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493694"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493693"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493692"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493691"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493690"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493689"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493688"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493687"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-284"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-285"></span><span id="local-6989586621679493072"><span id="local-6989586621679493088"><span id="local-6989586621679493659"><span id="local-6989586621679493660"><span id="local-6989586621679493661"><span id="local-6989586621679493662"><span id="local-6989586621679493663"><span id="local-6989586621679493664"><span id="local-6989586621679493665"><span id="local-6989586621679493666"><span id="local-6989586621679493667"><span id="local-6989586621679493668"><span id="local-6989586621679493669"><span id="local-6989586621679493670"><span id="local-6989586621679493671"><span id="local-6989586621679493672"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493672"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493671"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493670"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493669"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493668"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-286"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493667"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493666"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493665"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493664"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493663"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493662"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-287"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493661"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493660"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493659"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-288"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493672"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493671"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493670"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493669"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493668"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493667"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493666"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493665"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493664"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493663"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493662"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493661"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493660"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493659"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-289"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-290"></span><span id="local-6989586621679493023"><span id="local-6989586621679493040"><span id="local-6989586621679493629"><span id="local-6989586621679493630"><span id="local-6989586621679493631"><span id="local-6989586621679493632"><span id="local-6989586621679493633"><span id="local-6989586621679493634"><span id="local-6989586621679493635"><span id="local-6989586621679493636"><span id="local-6989586621679493637"><span id="local-6989586621679493638"><span id="local-6989586621679493639"><span id="local-6989586621679493640"><span id="local-6989586621679493641"><span id="local-6989586621679493642"><span id="local-6989586621679493643"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493643"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493642"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493641"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493640"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493639"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-291"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493638"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493637"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493636"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493635"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493634"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493633"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-292"></span><span>          </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493632"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493631"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493630"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679493629"><span class="hs-identifier hs-type">o</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-293"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679493643"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493642"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493641"><span class="hs-identifier hs-type">c</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493640"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493639"><span class="hs-identifier hs-type">e</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493638"><span class="hs-identifier hs-type">f</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493637"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493636"><span class="hs-identifier hs-type">h</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493635"><span class="hs-identifier hs-type">i</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493634"><span class="hs-identifier hs-type">j</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493633"><span class="hs-identifier hs-type">k</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493632"><span class="hs-identifier hs-type">l</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493631"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493630"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">,</span><span class="annot"><a href="#local-6989586621679493629"><span class="hs-identifier hs-type">o</span></a></span><span class="hs-special">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-294"></span><span>
</span><span id="line-295"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-296"></span><span class="hs-comment">-- Bool</span><span>
</span><span id="line-297"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-298"></span><span>
</span><span id="line-299"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-300"></span><span id="local-6989586621679493003"><span id="local-6989586621679493005"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span></span></span><span>
</span><span id="line-301"></span><span>
</span><span id="line-302"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-303"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679492992"><span id="local-6989586621679492994"><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-304"></span><span>  </span><span id="local-6989586621679492991"><span class="annot"><span class="annottext">succ :: Bool -&gt; Bool
</span><a href="#local-6989586621679492991"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-305"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#succ"><span class="hs-identifier hs-var">succ</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Bool.succ: bad argument&quot;</span></span><span>
</span><span id="line-306"></span><span>
</span><span id="line-307"></span><span>  </span><span id="local-6989586621679492990"><span class="annot"><span class="annottext">pred :: Bool -&gt; Bool
</span><a href="#local-6989586621679492990"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-308"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#pred"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Bool.pred: bad argument&quot;</span></span><span>
</span><span id="line-309"></span><span>
</span><span id="line-310"></span><span>  </span><span id="local-6989586621679492985"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Bool
</span><a href="#local-6989586621679492985"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span> </span><span id="local-6989586621679492984"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492984"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492984"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-311"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492984"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-312"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Bool.toEnum: bad argument&quot;</span></span><span>
</span><span id="line-313"></span><span>
</span><span id="line-314"></span><span>  </span><span id="local-6989586621679492983"><span class="annot"><span class="annottext">fromEnum :: Bool -&gt; Int
</span><a href="#local-6989586621679492983"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-315"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-316"></span><span>
</span><span id="line-317"></span><span>  </span><span class="hs-comment">-- Use defaults for the rest</span><span>
</span><span id="line-318"></span><span>  </span><span id="local-6989586621679492980"><span class="annot"><span class="annottext">enumFrom :: Bool -&gt; [Bool]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; [Bool]
forall a. (Enum a, Bounded a) =&gt; a -&gt; [a]
</span><a href="GHC.Enum.html#boundedEnumFrom"><span class="hs-identifier hs-var">boundedEnumFrom</span></a></span><span>
</span><span id="line-319"></span><span>  </span><span id="local-6989586621679492977"><span class="annot"><span class="annottext">enumFromThen :: Bool -&gt; Bool -&gt; [Bool]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; [Bool]
forall a. (Enum a, Bounded a) =&gt; a -&gt; a -&gt; [a]
</span><a href="GHC.Enum.html#boundedEnumFromThen"><span class="hs-identifier hs-var">boundedEnumFromThen</span></a></span><span>
</span><span id="line-320"></span><span>
</span><span id="line-321"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-322"></span><span class="hs-comment">-- Ordering</span><span>
</span><span id="line-323"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-324"></span><span>
</span><span id="line-325"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-326"></span><span id="local-6989586621679492973"><span id="local-6989586621679492975"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span></span></span><span>
</span><span id="line-327"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-328"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679492962"><span id="local-6989586621679492964"><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-329"></span><span>  </span><span id="local-6989586621679492961"><span class="annot"><span class="annottext">succ :: Ordering -&gt; Ordering
</span><a href="#local-6989586621679492961"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span>
</span><span id="line-330"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#succ"><span class="hs-identifier hs-var">succ</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-331"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#succ"><span class="hs-identifier hs-var">succ</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Ordering
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Ordering.succ: bad argument&quot;</span></span><span>
</span><span id="line-332"></span><span>
</span><span id="line-333"></span><span>  </span><span id="local-6989586621679492960"><span class="annot"><span class="annottext">pred :: Ordering -&gt; Ordering
</span><a href="#local-6989586621679492960"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span>
</span><span id="line-334"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#pred"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-335"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#pred"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Ordering
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Ordering.pred: bad argument&quot;</span></span><span>
</span><span id="line-336"></span><span>
</span><span id="line-337"></span><span>  </span><span id="local-6989586621679492953"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Ordering
</span><a href="#local-6989586621679492953"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span> </span><span id="local-6989586621679492952"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492952"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492952"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-338"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492952"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span>
</span><span id="line-339"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492952"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-340"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Ordering
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Ordering.toEnum: bad argument&quot;</span></span><span>
</span><span id="line-341"></span><span>
</span><span id="line-342"></span><span>  </span><span id="local-6989586621679492951"><span class="annot"><span class="annottext">fromEnum :: Ordering -&gt; Int
</span><a href="#local-6989586621679492951"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-343"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-344"></span><span>  </span><span class="annot"><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span>
</span><span id="line-345"></span><span>
</span><span id="line-346"></span><span>  </span><span class="hs-comment">-- Use defaults for the rest</span><span>
</span><span id="line-347"></span><span>  </span><span id="local-6989586621679492948"><span class="annot"><span class="annottext">enumFrom :: Ordering -&gt; [Ordering]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; [Ordering]
forall a. (Enum a, Bounded a) =&gt; a -&gt; [a]
</span><a href="GHC.Enum.html#boundedEnumFrom"><span class="hs-identifier hs-var">boundedEnumFrom</span></a></span><span>
</span><span id="line-348"></span><span>  </span><span id="local-6989586621679492945"><span class="annot"><span class="annottext">enumFromThen :: Ordering -&gt; Ordering -&gt; [Ordering]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; [Ordering]
forall a. (Enum a, Bounded a) =&gt; a -&gt; a -&gt; [a]
</span><a href="GHC.Enum.html#boundedEnumFromThen"><span class="hs-identifier hs-var">boundedEnumFromThen</span></a></span><span>
</span><span id="line-349"></span><span>
</span><span id="line-350"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-351"></span><span class="hs-comment">-- Char</span><span>
</span><span id="line-352"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-353"></span><span>
</span><span id="line-354"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-355"></span><span class="hs-keyword">instance</span><span>  </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-356"></span><span>    </span><span id="local-6989586621679492941"><span class="annot"><span class="annottext">minBound :: Char
</span><a href="#local-6989586621679492941"><span class="hs-identifier hs-var hs-var hs-var hs-var">minBound</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\0'</span></span><span>
</span><span id="line-357"></span><span>    </span><span id="local-6989586621679492940"><span class="annot"><span class="annottext">maxBound :: Char
</span><a href="#local-6989586621679492940"><span class="hs-identifier hs-var hs-var hs-var hs-var">maxBound</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\x10FFFF'</span></span><span>
</span><span id="line-358"></span><span>
</span><span id="line-359"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-360"></span><span class="hs-keyword">instance</span><span>  </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-361"></span><span>    </span><span id="local-6989586621679492930"><span class="annot"><span class="annottext">succ :: Char -&gt; Char
</span><a href="#local-6989586621679492930"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492929"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492929"><span class="hs-identifier hs-var">c#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-362"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492929"><span class="hs-identifier hs-var">c#</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2F%3D%23"><span class="hs-operator hs-var">/=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0x10FFFF#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492929"><span class="hs-identifier hs-var">c#</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-363"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Char
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Char.succ: bad argument&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-364"></span><span>    </span><span id="local-6989586621679492927"><span class="annot"><span class="annottext">pred :: Char -&gt; Char
</span><a href="#local-6989586621679492927"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492926"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492926"><span class="hs-identifier hs-var">c#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-365"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492926"><span class="hs-identifier hs-var">c#</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2F%3D%23"><span class="hs-operator hs-var">/=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492926"><span class="hs-identifier hs-var">c#</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-366"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Char
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.Char.pred: bad argument&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-367"></span><span>
</span><span id="line-368"></span><span>    </span><span id="local-6989586621679492925"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Char
</span><a href="#local-6989586621679492925"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Char
</span><a href="GHC.Char.html#chr"><span class="hs-identifier hs-var">chr</span></a></span><span>
</span><span id="line-369"></span><span>    </span><span id="local-6989586621679492923"><span class="annot"><span class="annottext">fromEnum :: Char -&gt; Int
</span><a href="#local-6989586621679492923"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span>
</span><span id="line-370"></span><span>
</span><span id="line-371"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-372"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-pragma hs-type">enumFrom</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-373"></span><span>    </span><span id="local-6989586621679492921"><span class="annot"><span class="annottext">enumFrom :: Char -&gt; String
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492920"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492920"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#eftChar"><span class="hs-identifier hs-var">eftChar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492920"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0x10FFFF#</span></span><span>
</span><span id="line-374"></span><span>        </span><span class="hs-comment">-- Blarg: technically I guess enumFrom isn't strict!</span><span>
</span><span id="line-375"></span><span>
</span><span id="line-376"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-377"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-pragma hs-type">enumFromTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-378"></span><span>    </span><span id="local-6989586621679492918"><span class="annot"><span class="annottext">enumFromTo :: Char -&gt; Char -&gt; String
</span><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492917"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492917"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492916"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492916"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#eftChar"><span class="hs-identifier hs-var">eftChar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492917"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492916"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-379"></span><span>
</span><span id="line-380"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-381"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-pragma hs-type">enumFromThen</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-382"></span><span>    </span><span id="local-6989586621679492915"><span class="annot"><span class="annottext">enumFromThen :: Char -&gt; Char -&gt; String
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492914"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492914"><span class="hs-identifier hs-var">x1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492913"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492913"><span class="hs-identifier hs-var">x2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#efdChar"><span class="hs-identifier hs-var">efdChar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492914"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492913"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-383"></span><span>
</span><span id="line-384"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-385"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-pragma hs-type">enumFromThenTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-386"></span><span>    </span><span id="local-6989586621679492911"><span class="annot"><span class="annottext">enumFromThenTo :: Char -&gt; Char -&gt; Char -&gt; String
</span><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThenTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492910"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492910"><span class="hs-identifier hs-var">x1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492909"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492909"><span class="hs-identifier hs-var">x2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-type">C#</span></a></span><span> </span><span id="local-6989586621679492908"><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492908"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#efdtChar"><span class="hs-identifier hs-var">efdtChar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492910"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492909"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ord%23"><span class="hs-identifier hs-var">ord#</span></a></span><span> </span><span class="annot"><span class="annottext">Char#
</span><a href="#local-6989586621679492908"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-387"></span><span>
</span><span id="line-388"></span><span class="hs-comment">-- See Note [How the Enum rules work]</span><span>
</span><span id="line-389"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-390"></span><span class="annot"><span class="hs-pragma">&quot;eftChar&quot;</span></span><span>       </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492906"><span class="annot"><a href="#local-6989586621679492906"><span class="hs-pragma hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492905"><span class="annot"><a href="#local-6989586621679492905"><span class="hs-pragma hs-var">y</span></a></span></span><span class="hs-pragma">.</span><span>        </span><span class="annot"><a href="GHC.Enum.html#eftChar"><span class="hs-pragma hs-type">eftChar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492906"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492905"><span class="hs-pragma hs-type">y</span></a></span><span>       </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span id="local-6989586621679492904"><span class="annot"><a href="#local-6989586621679492904"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492903"><span class="annot"><a href="#local-6989586621679492903"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftCharFB"><span class="hs-pragma hs-type">eftCharFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492904"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492903"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492906"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492905"><span class="hs-pragma hs-type">y</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-391"></span><span class="annot"><span class="hs-pragma">&quot;efdChar&quot;</span></span><span>       </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492901"><span class="annot"><a href="#local-6989586621679492901"><span class="hs-pragma hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492900"><span class="annot"><a href="#local-6989586621679492900"><span class="hs-pragma hs-var">x2</span></a></span></span><span class="hs-pragma">.</span><span>      </span><span class="annot"><a href="GHC.Enum.html#efdChar"><span class="hs-pragma hs-type">efdChar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492901"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492900"><span class="hs-pragma hs-type">x2</span></a></span><span>     </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span> </span><span id="local-6989586621679492899"><span class="annot"><a href="#local-6989586621679492899"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492898"><span class="annot"><a href="#local-6989586621679492898"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdCharFB"><span class="hs-pragma hs-type">efdCharFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492899"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492898"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492901"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492900"><span class="hs-pragma hs-type">x2</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-392"></span><span class="annot"><span class="hs-pragma">&quot;efdtChar&quot;</span></span><span>      </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492896"><span class="annot"><a href="#local-6989586621679492896"><span class="hs-pragma hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492895"><span class="annot"><a href="#local-6989586621679492895"><span class="hs-pragma hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492894"><span class="annot"><a href="#local-6989586621679492894"><span class="hs-pragma hs-var">l</span></a></span></span><span class="hs-pragma">.</span><span>    </span><span class="annot"><a href="GHC.Enum.html#efdtChar"><span class="hs-pragma hs-type">efdtChar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492896"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492895"><span class="hs-pragma hs-type">x2</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492894"><span class="hs-pragma hs-type">l</span></a></span><span>  </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span> </span><span id="local-6989586621679492893"><span class="annot"><a href="#local-6989586621679492893"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492892"><span class="annot"><a href="#local-6989586621679492892"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtCharFB"><span class="hs-pragma hs-type">efdtCharFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492893"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492892"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492896"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492895"><span class="hs-pragma hs-type">x2</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492894"><span class="hs-pragma hs-type">l</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-393"></span><span class="annot"><span class="hs-pragma">&quot;eftCharList&quot;</span></span><span>   </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span>  </span><span class="annot"><a href="GHC.Enum.html#eftCharFB"><span class="hs-pragma hs-type">eftCharFB</span></a></span><span>  </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftChar"><span class="hs-pragma hs-type">eftChar</span></a></span><span>
</span><span id="line-394"></span><span class="annot"><span class="hs-pragma">&quot;efdCharList&quot;</span></span><span>   </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span>  </span><span class="annot"><a href="GHC.Enum.html#efdCharFB"><span class="hs-pragma hs-type">efdCharFB</span></a></span><span>  </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdChar"><span class="hs-pragma hs-type">efdChar</span></a></span><span>
</span><span id="line-395"></span><span class="annot"><span class="hs-pragma">&quot;efdtCharList&quot;</span></span><span>  </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span>  </span><span class="annot"><a href="GHC.Enum.html#efdtCharFB"><span class="hs-pragma hs-type">efdtCharFB</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtChar"><span class="hs-pragma hs-type">efdtChar</span></a></span><span>
</span><span id="line-396"></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-397"></span><span>
</span><span id="line-398"></span><span>
</span><span id="line-399"></span><span class="hs-comment">-- We can do better than for Ints because we don't</span><span>
</span><span id="line-400"></span><span class="hs-comment">-- have hassles about arithmetic overflow at maxBound</span><span>
</span><span id="line-401"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftCharFB"><span class="hs-pragma hs-type">eftCharFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-402"></span><span id="local-6989586621679493628"><span class="annot"><a href="GHC.Enum.html#eftCharFB"><span class="hs-identifier hs-type">eftCharFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493628"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493628"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493628"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493628"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-403"></span><span id="eftCharFB"><span class="annot"><span class="annottext">eftCharFB :: forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#eftCharFB"><span class="hs-identifier hs-var hs-var">eftCharFB</span></a></span></span><span> </span><span id="local-6989586621679492890"><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492890"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492889"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492889"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492888"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492888"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492887"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492887"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; a
</span><a href="#local-6989586621679492886"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492888"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-404"></span><span>                 </span><span class="hs-keyword">where</span><span>
</span><span id="line-405"></span><span>                    </span><span id="local-6989586621679492886"><span class="annot"><span class="annottext">go :: Int# -&gt; a
</span><a href="#local-6989586621679492886"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492885"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492885"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492885"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492887"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492889"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-406"></span><span>                         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492885"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492890"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; a
</span><a href="#local-6989586621679492886"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492885"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-407"></span><span>
</span><span id="line-408"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftChar"><span class="hs-pragma hs-type">eftChar</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-409"></span><span class="annot"><a href="GHC.Enum.html#eftChar"><span class="hs-identifier hs-type">eftChar</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-410"></span><span id="eftChar"><span class="annot"><span class="annottext">eftChar :: Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#eftChar"><span class="hs-identifier hs-var hs-var">eftChar</span></a></span></span><span> </span><span id="local-6989586621679492884"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492884"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492883"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492883"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492884"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492883"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-411"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492884"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char -&gt; String -&gt; String
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#eftChar"><span class="hs-identifier hs-var">eftChar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492884"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492883"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-412"></span><span>
</span><span id="line-413"></span><span>
</span><span id="line-414"></span><span class="hs-comment">-- For enumFromThenTo we give up on inlining</span><span>
</span><span id="line-415"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdCharFB"><span class="hs-pragma hs-type">efdCharFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-416"></span><span id="local-6989586621679492882"><span class="annot"><a href="GHC.Enum.html#efdCharFB"><span class="hs-identifier hs-type">efdCharFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492882"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492882"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492882"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492882"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-417"></span><span id="efdCharFB"><span class="annot"><span class="annottext">efdCharFB :: forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#efdCharFB"><span class="hs-identifier hs-var hs-var">efdCharFB</span></a></span></span><span> </span><span id="local-6989586621679492881"><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492881"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492880"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492880"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492879"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492879"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492878"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492878"><span class="hs-identifier hs-var">x2</span></a></span></span><span>
</span><span id="line-418"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492877"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#go_up_char_fb"><span class="hs-identifier hs-var">go_up_char_fb</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492881"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492880"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492879"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492877"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0x10FFFF#</span></span><span>
</span><span id="line-419"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#go_dn_char_fb"><span class="hs-identifier hs-var">go_dn_char_fb</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492881"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492880"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492879"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492877"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-420"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-421"></span><span>    </span><span class="hs-glyph">!</span><span id="local-6989586621679492877"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492877"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492878"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492879"><span class="hs-identifier hs-var">x1</span></a></span><span>
</span><span id="line-422"></span><span>
</span><span id="line-423"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdChar"><span class="hs-pragma hs-type">efdChar</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-424"></span><span class="annot"><a href="GHC.Enum.html#efdChar"><span class="hs-identifier hs-type">efdChar</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-425"></span><span id="efdChar"><span class="annot"><span class="annottext">efdChar :: Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#efdChar"><span class="hs-identifier hs-var hs-var">efdChar</span></a></span></span><span> </span><span id="local-6989586621679492874"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492874"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492873"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492873"><span class="hs-identifier hs-var">x2</span></a></span></span><span>
</span><span id="line-426"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492872"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#go_up_char_list"><span class="hs-identifier hs-var">go_up_char_list</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492874"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492872"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0x10FFFF#</span></span><span>
</span><span id="line-427"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#go_dn_char_list"><span class="hs-identifier hs-var">go_dn_char_list</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492874"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492872"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-428"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-429"></span><span>    </span><span class="hs-glyph">!</span><span id="local-6989586621679492872"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492872"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492873"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492874"><span class="hs-identifier hs-var">x1</span></a></span><span>
</span><span id="line-430"></span><span>
</span><span id="line-431"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtCharFB"><span class="hs-pragma hs-type">efdtCharFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-432"></span><span id="local-6989586621679492869"><span class="annot"><a href="GHC.Enum.html#efdtCharFB"><span class="hs-identifier hs-type">efdtCharFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492869"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492869"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492869"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492869"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-433"></span><span id="efdtCharFB"><span class="annot"><span class="annottext">efdtCharFB :: forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#efdtCharFB"><span class="hs-identifier hs-var hs-var">efdtCharFB</span></a></span></span><span> </span><span id="local-6989586621679492868"><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492868"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492867"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492867"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492866"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492866"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492865"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492865"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492864"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492864"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-434"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492863"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#go_up_char_fb"><span class="hs-identifier hs-var">go_up_char_fb</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492868"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492867"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492866"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492863"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492864"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-435"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#go_dn_char_fb"><span class="hs-identifier hs-var">go_dn_char_fb</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492868"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492867"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492866"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492863"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492864"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-436"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-437"></span><span>    </span><span class="hs-glyph">!</span><span id="local-6989586621679492863"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492863"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492865"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492866"><span class="hs-identifier hs-var">x1</span></a></span><span>
</span><span id="line-438"></span><span>
</span><span id="line-439"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtChar"><span class="hs-pragma hs-type">efdtChar</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-440"></span><span class="annot"><a href="GHC.Enum.html#efdtChar"><span class="hs-identifier hs-type">efdtChar</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-441"></span><span id="efdtChar"><span class="annot"><span class="annottext">efdtChar :: Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#efdtChar"><span class="hs-identifier hs-var hs-var">efdtChar</span></a></span></span><span> </span><span id="local-6989586621679492862"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492862"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492861"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492861"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492860"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492860"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-442"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492859"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#go_up_char_list"><span class="hs-identifier hs-var">go_up_char_list</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492862"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492859"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492860"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-443"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#go_dn_char_list"><span class="hs-identifier hs-var">go_dn_char_list</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492862"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492859"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492860"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-444"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-445"></span><span>    </span><span class="hs-glyph">!</span><span id="local-6989586621679492859"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492859"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492861"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492862"><span class="hs-identifier hs-var">x1</span></a></span><span>
</span><span id="line-446"></span><span>
</span><span id="line-447"></span><span id="local-6989586621679493625"><span class="annot"><a href="GHC.Enum.html#go_up_char_fb"><span class="hs-identifier hs-type">go_up_char_fb</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493625"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493625"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493625"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493625"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-448"></span><span id="go_up_char_fb"><span class="annot"><span class="annottext">go_up_char_fb :: forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#go_up_char_fb"><span class="hs-identifier hs-var hs-var">go_up_char_fb</span></a></span></span><span> </span><span id="local-6989586621679492858"><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492858"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492857"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492857"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492856"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492856"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492855"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492855"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492854"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492854"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-449"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; a
</span><a href="#local-6989586621679492853"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492856"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-450"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-451"></span><span>    </span><span id="local-6989586621679492853"><span class="annot"><span class="annottext">go_up :: Int# -&gt; a
</span><a href="#local-6989586621679492853"><span class="hs-identifier hs-var hs-var">go_up</span></a></span></span><span> </span><span id="local-6989586621679492852"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492852"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492852"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492854"><span class="hs-identifier hs-var">lim</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492857"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-452"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492852"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492858"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; a
</span><a href="#local-6989586621679492853"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492852"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492855"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-453"></span><span>
</span><span id="line-454"></span><span id="local-6989586621679492851"><span class="annot"><a href="GHC.Enum.html#go_dn_char_fb"><span class="hs-identifier hs-type">go_dn_char_fb</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492851"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492851"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492851"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492851"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-455"></span><span id="go_dn_char_fb"><span class="annot"><span class="annottext">go_dn_char_fb :: forall a. (Char -&gt; a -&gt; a) -&gt; a -&gt; Int# -&gt; Int# -&gt; Int# -&gt; a
</span><a href="GHC.Enum.html#go_dn_char_fb"><span class="hs-identifier hs-var hs-var">go_dn_char_fb</span></a></span></span><span> </span><span id="local-6989586621679492850"><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492850"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492849"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492849"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492848"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492848"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492847"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492847"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492846"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492846"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-456"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; a
</span><a href="#local-6989586621679492845"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492848"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-457"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-458"></span><span>    </span><span id="local-6989586621679492845"><span class="annot"><span class="annottext">go_dn :: Int# -&gt; a
</span><a href="#local-6989586621679492845"><span class="hs-identifier hs-var hs-var">go_dn</span></a></span></span><span> </span><span id="local-6989586621679492844"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492844"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492844"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492846"><span class="hs-identifier hs-var">lim</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492849"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-459"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492844"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char -&gt; a -&gt; a
</span><a href="#local-6989586621679492850"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; a
</span><a href="#local-6989586621679492845"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492844"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492847"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-460"></span><span>
</span><span id="line-461"></span><span class="annot"><a href="GHC.Enum.html#go_up_char_list"><span class="hs-identifier hs-type">go_up_char_list</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-462"></span><span id="go_up_char_list"><span class="annot"><span class="annottext">go_up_char_list :: Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#go_up_char_list"><span class="hs-identifier hs-var hs-var">go_up_char_list</span></a></span></span><span> </span><span id="local-6989586621679492843"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492843"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492842"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492842"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492841"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492841"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-463"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; String
</span><a href="#local-6989586621679492840"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492843"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-464"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-465"></span><span>    </span><span id="local-6989586621679492840"><span class="annot"><span class="annottext">go_up :: Int# -&gt; String
</span><a href="#local-6989586621679492840"><span class="hs-identifier hs-var hs-var">go_up</span></a></span></span><span> </span><span id="local-6989586621679492839"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492839"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492839"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492841"><span class="hs-identifier hs-var">lim</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-466"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492839"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char -&gt; String -&gt; String
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; String
</span><a href="#local-6989586621679492840"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492839"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492842"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-467"></span><span>
</span><span id="line-468"></span><span class="annot"><a href="GHC.Enum.html#go_dn_char_list"><span class="hs-identifier hs-type">go_dn_char_list</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-469"></span><span id="go_dn_char_list"><span class="annot"><span class="annottext">go_dn_char_list :: Int# -&gt; Int# -&gt; Int# -&gt; String
</span><a href="GHC.Enum.html#go_dn_char_list"><span class="hs-identifier hs-var hs-var">go_dn_char_list</span></a></span></span><span> </span><span id="local-6989586621679492838"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492838"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492837"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492837"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492836"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492836"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-470"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; String
</span><a href="#local-6989586621679492835"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492838"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-471"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-472"></span><span>    </span><span id="local-6989586621679492835"><span class="annot"><span class="annottext">go_dn :: Int# -&gt; String
</span><a href="#local-6989586621679492835"><span class="hs-identifier hs-var hs-var">go_dn</span></a></span></span><span> </span><span id="local-6989586621679492834"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492834"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492834"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492836"><span class="hs-identifier hs-var">lim</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-473"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char# -&gt; Char
</span><a href="../../ghc-prim/src/GHC.Types.html#C%23"><span class="hs-identifier hs-var">C#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Char#
</span><a href="../../ghc-prim/src/GHC.Prim.html#chr%23"><span class="hs-identifier hs-var">chr#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492834"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Char -&gt; String -&gt; String
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; String
</span><a href="#local-6989586621679492835"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492834"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492837"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-474"></span><span>
</span><span id="line-475"></span><span>
</span><span id="line-476"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-477"></span><span class="hs-comment">-- Int</span><span>
</span><span id="line-478"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-479"></span><span>
</span><span id="line-480"></span><span class="hs-comment">{-
Be careful about these instances.
        (a) remember that you have to count down as well as up e.g. [13,12..0]
        (b) be careful of Int overflow
        (c) remember that Int is bounded, so [1..] terminates at maxInt
-}</span><span>
</span><span id="line-486"></span><span>
</span><span id="line-487"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-488"></span><span class="hs-keyword">instance</span><span>  </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-489"></span><span>    </span><span id="local-6989586621679492831"><span class="annot"><span class="annottext">minBound :: Int
</span><a href="#local-6989586621679492831"><span class="hs-identifier hs-var hs-var hs-var hs-var">minBound</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Base.html#minInt"><span class="hs-identifier hs-var">minInt</span></a></span><span>
</span><span id="line-490"></span><span>    </span><span id="local-6989586621679492829"><span class="annot"><span class="annottext">maxBound :: Int
</span><a href="#local-6989586621679492829"><span class="hs-identifier hs-var hs-var hs-var hs-var">maxBound</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Base.html#maxInt"><span class="hs-identifier hs-var">maxInt</span></a></span><span>
</span><span id="line-491"></span><span>
</span><span id="line-492"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-493"></span><span class="hs-keyword">instance</span><span>  </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-494"></span><span>    </span><span id="local-6989586621679492815"><span class="annot"><span class="annottext">succ :: Int -&gt; Int
</span><a href="#local-6989586621679492815"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span id="local-6989586621679492814"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492814"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-495"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492814"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Int
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.succ{Int}: tried to take `succ' of maxBound&quot;</span></span><span>
</span><span id="line-496"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492814"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-497"></span><span>    </span><span id="local-6989586621679492809"><span class="annot"><span class="annottext">pred :: Int -&gt; Int
</span><a href="#local-6989586621679492809"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679492808"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492808"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-498"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492808"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Int
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-var">minBound</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Int
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Prelude.Enum.pred{Int}: tried to take `pred' of minBound&quot;</span></span><span>
</span><span id="line-499"></span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492808"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-500"></span><span>
</span><span id="line-501"></span><span>    </span><span id="local-6989586621679492807"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Int
</span><a href="#local-6989586621679492807"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span>   </span><span id="local-6989586621679492806"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492806"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492806"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-502"></span><span>    </span><span id="local-6989586621679492805"><span class="annot"><span class="annottext">fromEnum :: Int -&gt; Int
</span><a href="#local-6989586621679492805"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span id="local-6989586621679492804"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492804"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492804"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-503"></span><span>
</span><span id="line-504"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-505"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-pragma hs-type">enumFrom</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-506"></span><span>    </span><span id="local-6989586621679492803"><span class="annot"><span class="annottext">enumFrom :: Int -&gt; [Int]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492802"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492802"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#eftInt"><span class="hs-identifier hs-var">eftInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492802"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492800"><span class="hs-identifier hs-var">maxInt#</span></a></span><span>
</span><span id="line-507"></span><span>        </span><span class="hs-keyword">where</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492800"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492800"><span class="hs-identifier hs-var">maxInt#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Base.html#maxInt"><span class="hs-identifier hs-var">maxInt</span></a></span><span>
</span><span id="line-508"></span><span>        </span><span class="hs-comment">-- Blarg: technically I guess enumFrom isn't strict!</span><span>
</span><span id="line-509"></span><span>
</span><span id="line-510"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-511"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-pragma hs-type">enumFromTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-512"></span><span>    </span><span id="local-6989586621679492799"><span class="annot"><span class="annottext">enumFromTo :: Int -&gt; Int -&gt; [Int]
</span><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492798"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492798"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492797"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492797"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#eftInt"><span class="hs-identifier hs-var">eftInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492798"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492797"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-513"></span><span>
</span><span id="line-514"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-515"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-pragma hs-type">enumFromThen</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-516"></span><span>    </span><span id="local-6989586621679492796"><span class="annot"><span class="annottext">enumFromThen :: Int -&gt; Int -&gt; [Int]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492795"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492795"><span class="hs-identifier hs-var">x1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492794"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492794"><span class="hs-identifier hs-var">x2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdInt"><span class="hs-identifier hs-var">efdInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492795"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492794"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-517"></span><span>
</span><span id="line-518"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-519"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-pragma hs-type">enumFromThenTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-520"></span><span>    </span><span id="local-6989586621679492792"><span class="annot"><span class="annottext">enumFromThenTo :: Int -&gt; Int -&gt; Int -&gt; [Int]
</span><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThenTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492791"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492791"><span class="hs-identifier hs-var">x1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492790"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492790"><span class="hs-identifier hs-var">x2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492789"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492789"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtInt"><span class="hs-identifier hs-var">efdtInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492791"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492790"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492789"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-521"></span><span>
</span><span id="line-522"></span><span>
</span><span id="line-523"></span><span class="hs-comment">-----------------------------------------------------</span><span>
</span><span id="line-524"></span><span class="hs-comment">-- eftInt and eftIntFB deal with [a..b], which is the</span><span>
</span><span id="line-525"></span><span class="hs-comment">-- most common form, so we take a lot of care</span><span>
</span><span id="line-526"></span><span class="hs-comment">-- In particular, we have rules for deforestation</span><span>
</span><span id="line-527"></span><span>
</span><span id="line-528"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-529"></span><span class="annot"><span class="hs-pragma">&quot;eftInt&quot;</span></span><span>        </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492787"><span class="annot"><a href="#local-6989586621679492787"><span class="hs-pragma hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492786"><span class="annot"><a href="#local-6989586621679492786"><span class="hs-pragma hs-var">y</span></a></span></span><span class="hs-pragma">.</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftInt"><span class="hs-pragma hs-type">eftInt</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492787"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492786"><span class="hs-pragma hs-type">y</span></a></span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span> </span><span id="local-6989586621679492785"><span class="annot"><a href="#local-6989586621679492785"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492784"><span class="annot"><a href="#local-6989586621679492784"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftIntFB"><span class="hs-pragma hs-type">eftIntFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492785"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492784"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492787"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492786"><span class="hs-pragma hs-type">y</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-530"></span><span class="annot"><span class="hs-pragma">&quot;eftIntList&quot;</span></span><span>    </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftIntFB"><span class="hs-pragma hs-type">eftIntFB</span></a></span><span>  </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftInt"><span class="hs-pragma hs-type">eftInt</span></a></span><span>
</span><span id="line-531"></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-532"></span><span>
</span><span id="line-533"></span><span class="hs-comment">{- Note [How the Enum rules work]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Phase 2: eftInt ---&gt; build . eftIntFB
* Phase 1: inline build; eftIntFB (:) --&gt; eftInt
* Phase 0: optionally inline eftInt
-}</span><span>
</span><span id="line-539"></span><span>
</span><span id="line-540"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftInt"><span class="hs-pragma hs-type">eftInt</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-541"></span><span class="annot"><a href="GHC.Enum.html#eftInt"><span class="hs-identifier hs-type">eftInt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-542"></span><span class="hs-comment">-- [x1..x2]</span><span>
</span><span id="line-543"></span><span id="eftInt"><span class="annot"><span class="annottext">eftInt :: Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#eftInt"><span class="hs-identifier hs-var hs-var">eftInt</span></a></span></span><span> </span><span id="local-6989586621679492782"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492782"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492781"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492781"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492782"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492781"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-544"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; [Int]
</span><a href="#local-6989586621679492780"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492782"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-545"></span><span>               </span><span class="hs-keyword">where</span><span>
</span><span id="line-546"></span><span>                 </span><span id="local-6989586621679492780"><span class="annot"><span class="annottext">go :: Int# -&gt; [Int]
</span><a href="#local-6989586621679492780"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492779"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492779"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492779"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; [Int] -&gt; [Int]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492779"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492781"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-547"></span><span>                               </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-548"></span><span>                               </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; [Int]
</span><a href="#local-6989586621679492780"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492779"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-549"></span><span>
</span><span id="line-550"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftIntFB"><span class="hs-pragma hs-type">eftIntFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-551"></span><span id="local-6989586621679493621"><span class="annot"><a href="GHC.Enum.html#eftIntFB"><span class="hs-identifier hs-type">eftIntFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493621"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493621"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493621"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493621"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-552"></span><span id="eftIntFB"><span class="annot"><span class="annottext">eftIntFB :: forall r. (Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; r
</span><a href="GHC.Enum.html#eftIntFB"><span class="hs-identifier hs-var hs-var">eftIntFB</span></a></span></span><span> </span><span id="local-6989586621679492778"><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492778"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492777"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492777"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492776"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492776"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492775"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492775"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492776"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492775"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492777"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-553"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; r
</span><a href="#local-6989586621679492774"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492776"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-554"></span><span>                 </span><span class="hs-keyword">where</span><span>
</span><span id="line-555"></span><span>                   </span><span id="local-6989586621679492774"><span class="annot"><span class="annottext">go :: Int# -&gt; r
</span><a href="#local-6989586621679492774"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492773"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492773"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492773"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492778"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492773"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492775"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-556"></span><span>                                   </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492777"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-557"></span><span>                                   </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; r
</span><a href="#local-6989586621679492774"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492773"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-558"></span><span>                        </span><span class="hs-comment">-- Watch out for y=maxBound; hence ==, not &gt;</span><span>
</span><span id="line-559"></span><span>        </span><span class="hs-comment">-- Be very careful not to have more than one &quot;c&quot;</span><span>
</span><span id="line-560"></span><span>        </span><span class="hs-comment">-- so that when eftInfFB is inlined we can inline</span><span>
</span><span id="line-561"></span><span>        </span><span class="hs-comment">-- whatever is bound to &quot;c&quot;</span><span>
</span><span id="line-562"></span><span>
</span><span id="line-563"></span><span>
</span><span id="line-564"></span><span class="hs-comment">-----------------------------------------------------</span><span>
</span><span id="line-565"></span><span class="hs-comment">-- efdInt and efdtInt deal with [a,b..] and [a,b..c].</span><span>
</span><span id="line-566"></span><span class="hs-comment">-- The code is more complicated because of worries about Int overflow.</span><span>
</span><span id="line-567"></span><span>
</span><span id="line-568"></span><span class="hs-comment">-- See Note [How the Enum rules work]</span><span>
</span><span id="line-569"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-570"></span><span class="annot"><span class="hs-pragma">&quot;efdtInt&quot;</span></span><span>       </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492772"><span class="annot"><a href="#local-6989586621679492772"><span class="hs-pragma hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492771"><span class="annot"><a href="#local-6989586621679492771"><span class="hs-pragma hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492770"><span class="annot"><a href="#local-6989586621679492770"><span class="hs-pragma hs-var">y</span></a></span></span><span class="hs-pragma">.</span><span>
</span><span id="line-571"></span><span>                     </span><span class="annot"><a href="GHC.Enum.html#efdtInt"><span class="hs-pragma hs-type">efdtInt</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492772"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492771"><span class="hs-pragma hs-type">x2</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492770"><span class="hs-pragma hs-type">y</span></a></span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span> </span><span id="local-6989586621679492769"><span class="annot"><a href="#local-6989586621679492769"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492768"><span class="annot"><a href="#local-6989586621679492768"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtIntFB"><span class="hs-pragma hs-type">efdtIntFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492769"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492768"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492772"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492771"><span class="hs-pragma hs-type">x2</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492770"><span class="hs-pragma hs-type">y</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-572"></span><span class="annot"><span class="hs-pragma">&quot;efdtIntUpList&quot;</span></span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span>  </span><span class="annot"><a href="GHC.Enum.html#efdtIntFB"><span class="hs-pragma hs-type">efdtIntFB</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtInt"><span class="hs-pragma hs-type">efdtInt</span></a></span><span>
</span><span id="line-573"></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-574"></span><span>
</span><span id="line-575"></span><span class="annot"><a href="GHC.Enum.html#efdInt"><span class="hs-identifier hs-type">efdInt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-576"></span><span class="hs-comment">-- [x1,x2..maxInt]</span><span>
</span><span id="line-577"></span><span id="efdInt"><span class="annot"><span class="annottext">efdInt :: Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdInt"><span class="hs-identifier hs-var hs-var">efdInt</span></a></span></span><span> </span><span id="local-6989586621679492766"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492766"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492765"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492765"><span class="hs-identifier hs-var">x2</span></a></span></span><span>
</span><span id="line-578"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492765"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492766"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Base.html#maxInt"><span class="hs-identifier hs-var">maxInt</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492764"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492764"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtIntUp"><span class="hs-identifier hs-var">efdtIntUp</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492766"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492765"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492764"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-579"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Base.html#minInt"><span class="hs-identifier hs-var">minInt</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492762"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492762"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtIntDn"><span class="hs-identifier hs-var">efdtIntDn</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492766"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492765"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492762"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-580"></span><span>
</span><span id="line-581"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtInt"><span class="hs-pragma hs-type">efdtInt</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-582"></span><span class="annot"><a href="GHC.Enum.html#efdtInt"><span class="hs-identifier hs-type">efdtInt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-583"></span><span class="hs-comment">-- [x1,x2..y]</span><span>
</span><span id="line-584"></span><span id="efdtInt"><span class="annot"><span class="annottext">efdtInt :: Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtInt"><span class="hs-identifier hs-var hs-var">efdtInt</span></a></span></span><span> </span><span id="local-6989586621679492760"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492760"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492759"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492759"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492758"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492758"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-585"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492759"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492760"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtIntUp"><span class="hs-identifier hs-var">efdtIntUp</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492760"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492759"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492758"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-586"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtIntDn"><span class="hs-identifier hs-var">efdtIntDn</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492760"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492759"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492758"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-587"></span><span>
</span><span id="line-588"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtIntFB"><span class="hs-pragma hs-type">efdtIntFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-589"></span><span id="local-6989586621679493619"><span class="annot"><a href="GHC.Enum.html#efdtIntFB"><span class="hs-identifier hs-type">efdtIntFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493619"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493619"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493619"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493619"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-590"></span><span id="efdtIntFB"><span class="annot"><span class="annottext">efdtIntFB :: forall r. (Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
</span><a href="GHC.Enum.html#efdtIntFB"><span class="hs-identifier hs-var hs-var">efdtIntFB</span></a></span></span><span> </span><span id="local-6989586621679492757"><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492757"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492756"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492756"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492755"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492755"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492754"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492754"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492753"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492753"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-591"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492754"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492755"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
forall r. (Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
</span><a href="GHC.Enum.html#efdtIntUpFB"><span class="hs-identifier hs-var">efdtIntUpFB</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492757"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492756"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492755"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492754"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492753"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-592"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
forall r. (Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
</span><a href="GHC.Enum.html#efdtIntDnFB"><span class="hs-identifier hs-var">efdtIntDnFB</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492757"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492756"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492755"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492754"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492753"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-593"></span><span>
</span><span id="line-594"></span><span class="hs-comment">-- Requires x2 &gt;= x1</span><span>
</span><span id="line-595"></span><span class="annot"><a href="GHC.Enum.html#efdtIntUp"><span class="hs-identifier hs-type">efdtIntUp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-596"></span><span id="efdtIntUp"><span class="annot"><span class="annottext">efdtIntUp :: Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtIntUp"><span class="hs-identifier hs-var hs-var">efdtIntUp</span></a></span></span><span> </span><span id="local-6989586621679492750"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492750"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492749"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492749"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492748"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492748"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about overflow!</span><span>
</span><span id="line-597"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492748"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492749"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492748"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492750"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492750"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-598"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &lt;= x2 &lt;= y</span><span>
</span><span id="line-599"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492747"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492747"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492749"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492750"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &gt;= 0</span><span>
</span><span id="line-600"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492746"><span class="annot"><span class="annottext">y' :: Int#
</span><a href="#local-6989586621679492746"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492748"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492747"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- x1 &lt;= y' &lt;= y; hence y' is representable</span><span>
</span><span id="line-601"></span><span>
</span><span id="line-602"></span><span>                   </span><span class="hs-comment">-- Invariant: x &lt;= y</span><span>
</span><span id="line-603"></span><span>                   </span><span class="hs-comment">-- Note that: z &lt;= y' =&gt; z + delta won't overflow</span><span>
</span><span id="line-604"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to overflow if/when we recurse</span><span>
</span><span id="line-605"></span><span>                   </span><span id="local-6989586621679492745"><span class="annot"><span class="annottext">go_up :: Int# -&gt; [Int]
</span><a href="#local-6989586621679492745"><span class="hs-identifier hs-var hs-var">go_up</span></a></span></span><span> </span><span id="local-6989586621679492744"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492744"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492744"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492746"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492744"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-606"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492744"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; [Int] -&gt; [Int]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; [Int]
</span><a href="#local-6989586621679492745"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492744"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492747"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-607"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492750"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; [Int] -&gt; [Int]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; [Int]
</span><a href="#local-6989586621679492745"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492749"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-608"></span><span>
</span><span id="line-609"></span><span class="hs-comment">-- Requires x2 &gt;= x1</span><span>
</span><span id="line-610"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtIntUpFB"><span class="hs-pragma hs-type">efdtIntUpFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-611"></span><span id="local-6989586621679492743"><span class="annot"><a href="GHC.Enum.html#efdtIntUpFB"><span class="hs-identifier hs-type">efdtIntUpFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492743"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492743"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492743"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492743"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-612"></span><span id="efdtIntUpFB"><span class="annot"><span class="annottext">efdtIntUpFB :: forall r. (Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
</span><a href="GHC.Enum.html#efdtIntUpFB"><span class="hs-identifier hs-var hs-var">efdtIntUpFB</span></a></span></span><span> </span><span id="local-6989586621679492742"><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492742"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492741"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492741"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492740"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492740"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492739"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492739"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492738"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492738"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about overflow!</span><span>
</span><span id="line-613"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492738"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492739"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492738"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492740"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492741"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492740"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492742"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492741"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-614"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &lt;= x2 &lt;= y</span><span>
</span><span id="line-615"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492737"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492737"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492739"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492740"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &gt;= 0</span><span>
</span><span id="line-616"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492736"><span class="annot"><span class="annottext">y' :: Int#
</span><a href="#local-6989586621679492736"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492738"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492737"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- x1 &lt;= y' &lt;= y; hence y' is representable</span><span>
</span><span id="line-617"></span><span>
</span><span id="line-618"></span><span>                   </span><span class="hs-comment">-- Invariant: x &lt;= y</span><span>
</span><span id="line-619"></span><span>                   </span><span class="hs-comment">-- Note that: z &lt;= y' =&gt; z + delta won't overflow</span><span>
</span><span id="line-620"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to overflow if/when we recurse</span><span>
</span><span id="line-621"></span><span>                   </span><span id="local-6989586621679492735"><span class="annot"><span class="annottext">go_up :: Int# -&gt; r
</span><a href="#local-6989586621679492735"><span class="hs-identifier hs-var hs-var">go_up</span></a></span></span><span> </span><span id="local-6989586621679492734"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492734"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492734"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492736"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492734"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492742"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492741"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-622"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492734"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492742"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; r
</span><a href="#local-6989586621679492735"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492734"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492737"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-623"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492740"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492742"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; r
</span><a href="#local-6989586621679492735"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492739"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-624"></span><span>
</span><span id="line-625"></span><span class="hs-comment">-- Requires x2 &lt;= x1</span><span>
</span><span id="line-626"></span><span class="annot"><a href="GHC.Enum.html#efdtIntDn"><span class="hs-identifier hs-type">efdtIntDn</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-627"></span><span id="efdtIntDn"><span class="annot"><span class="annottext">efdtIntDn :: Int# -&gt; Int# -&gt; Int# -&gt; [Int]
</span><a href="GHC.Enum.html#efdtIntDn"><span class="hs-identifier hs-var hs-var">efdtIntDn</span></a></span></span><span> </span><span id="local-6989586621679492733"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492733"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492732"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492732"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492731"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492731"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about underflow!</span><span>
</span><span id="line-628"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492731"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492732"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492731"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492733"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492733"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-629"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &gt;= x2 &gt;= y</span><span>
</span><span id="line-630"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492730"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492730"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492732"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492733"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &lt;= 0</span><span>
</span><span id="line-631"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492729"><span class="annot"><span class="annottext">y' :: Int#
</span><a href="#local-6989586621679492729"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492731"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492730"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- y &lt;= y' &lt;= x1; hence y' is representable</span><span>
</span><span id="line-632"></span><span>
</span><span id="line-633"></span><span>                   </span><span class="hs-comment">-- Invariant: x &gt;= y</span><span>
</span><span id="line-634"></span><span>                   </span><span class="hs-comment">-- Note that: z &gt;= y' =&gt; z + delta won't underflow</span><span>
</span><span id="line-635"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to underflow if/when we recurse</span><span>
</span><span id="line-636"></span><span>                   </span><span id="local-6989586621679492728"><span class="annot"><span class="annottext">go_dn :: Int# -&gt; [Int]
</span><a href="#local-6989586621679492728"><span class="hs-identifier hs-var hs-var">go_dn</span></a></span></span><span> </span><span id="local-6989586621679492727"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492727"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492727"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492729"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492727"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-637"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492727"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; [Int] -&gt; [Int]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; [Int]
</span><a href="#local-6989586621679492728"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492727"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492730"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-638"></span><span>   </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492733"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; [Int] -&gt; [Int]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; [Int]
</span><a href="#local-6989586621679492728"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492732"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-639"></span><span>
</span><span id="line-640"></span><span class="hs-comment">-- Requires x2 &lt;= x1</span><span>
</span><span id="line-641"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtIntDnFB"><span class="hs-pragma hs-type">efdtIntDnFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-642"></span><span id="local-6989586621679492726"><span class="annot"><a href="GHC.Enum.html#efdtIntDnFB"><span class="hs-identifier hs-type">efdtIntDnFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492726"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492726"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492726"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492726"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-643"></span><span id="efdtIntDnFB"><span class="annot"><span class="annottext">efdtIntDnFB :: forall r. (Int -&gt; r -&gt; r) -&gt; r -&gt; Int# -&gt; Int# -&gt; Int# -&gt; r
</span><a href="GHC.Enum.html#efdtIntDnFB"><span class="hs-identifier hs-var hs-var">efdtIntDnFB</span></a></span></span><span> </span><span id="local-6989586621679492725"><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492725"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492724"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492724"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492723"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492723"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492722"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492722"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492721"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492721"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about underflow!</span><span>
</span><span id="line-644"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492721"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492722"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492721"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492723"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492724"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492723"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492725"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492724"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-645"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &gt;= x2 &gt;= y</span><span>
</span><span id="line-646"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492720"><span class="annot"><span class="annottext">delta :: Int#
</span><a href="#local-6989586621679492720"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492722"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492723"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &lt;= 0</span><span>
</span><span id="line-647"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492719"><span class="annot"><span class="annottext">y' :: Int#
</span><a href="#local-6989586621679492719"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492721"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492720"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- y &lt;= y' &lt;= x1; hence y' is representable</span><span>
</span><span id="line-648"></span><span>
</span><span id="line-649"></span><span>                   </span><span class="hs-comment">-- Invariant: x &gt;= y</span><span>
</span><span id="line-650"></span><span>                   </span><span class="hs-comment">-- Note that: z &gt;= y' =&gt; z + delta won't underflow</span><span>
</span><span id="line-651"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to underflow if/when we recurse</span><span>
</span><span id="line-652"></span><span>                   </span><span id="local-6989586621679492718"><span class="annot"><span class="annottext">go_dn :: Int# -&gt; r
</span><a href="#local-6989586621679492718"><span class="hs-identifier hs-var hs-var">go_dn</span></a></span></span><span> </span><span id="local-6989586621679492717"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492717"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492717"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492719"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492717"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492725"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492724"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-653"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492717"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492725"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; r
</span><a href="#local-6989586621679492718"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492717"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492720"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-654"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492723"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; r -&gt; r
</span><a href="#local-6989586621679492725"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; r
</span><a href="#local-6989586621679492718"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492722"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-655"></span><span>
</span><span id="line-656"></span><span>
</span><span id="line-657"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-658"></span><span class="hs-comment">-- Word</span><span>
</span><span id="line-659"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-660"></span><span>
</span><span id="line-661"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-662"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-663"></span><span>    </span><span id="local-6989586621679492714"><span class="annot"><span class="annottext">minBound :: Word
</span><a href="#local-6989586621679492714"><span class="hs-identifier hs-var hs-var hs-var hs-var">minBound</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">0</span></span><span>
</span><span id="line-664"></span><span>
</span><span id="line-665"></span><span>    </span><span class="hs-comment">-- use unboxed literals for maxBound, because GHC doesn't optimise</span><span>
</span><span id="line-666"></span><span>    </span><span class="hs-comment">-- (fromInteger 0xffffffff :: Word).</span><span class="hs-cpp">
#if WORD_SIZE_IN_BITS == 32
</span><span>    </span><span class="hs-identifier">maxBound</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">W#</span><span> </span><span class="hs-number">0xFFFFFFFF##</span><span class="hs-cpp">
#elif WORD_SIZE_IN_BITS == 64
</span><span>    </span><span id="local-6989586621679492713"><span class="annot"><span class="annottext">maxBound :: Word
</span><a href="#local-6989586621679492713"><span class="hs-identifier hs-var hs-var hs-var hs-var">maxBound</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0xFFFFFFFFFFFFFFFF##</span></span><span class="hs-cpp">
#else
</span><span class="hs-cpp">#error Unhandled value for WORD_SIZE_IN_BITS
</span><span class="hs-cpp">#endif
</span><span>
</span><span id="line-675"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-676"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-677"></span><span>    </span><span id="local-6989586621679492697"><span class="annot"><span class="annottext">succ :: Word -&gt; Word
</span><a href="#local-6989586621679492697"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span id="local-6989586621679492696"><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492696"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-678"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492696"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492696"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Word
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">1</span></span><span>
</span><span id="line-679"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Word
forall a. String -&gt; a
</span><a href="GHC.Enum.html#succError"><span class="hs-identifier hs-var">succError</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Word&quot;</span></span><span>
</span><span id="line-680"></span><span>    </span><span id="local-6989586621679492690"><span class="annot"><span class="annottext">pred :: Word -&gt; Word
</span><a href="#local-6989586621679492690"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679492689"><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492689"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-681"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492689"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-var">minBound</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492689"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Word
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">1</span></span><span>
</span><span id="line-682"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Word
forall a. String -&gt; a
</span><a href="GHC.Enum.html#predError"><span class="hs-identifier hs-var">predError</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Word&quot;</span></span><span>
</span><span id="line-683"></span><span>    </span><span id="local-6989586621679492682"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Word
</span><a href="#local-6989586621679492682"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span> </span><span id="local-6989586621679492681"><span class="annot"><span class="annottext">i :: Int
</span><a href="#local-6989586621679492681"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492680"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492680"><span class="hs-identifier hs-var">i#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-684"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492681"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492680"><span class="hs-identifier hs-var">i#</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-685"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Int -&gt; (Word, Word) -&gt; Word
forall a b. Show a =&gt; String -&gt; Int -&gt; (a, a) -&gt; b
</span><a href="GHC.Enum.html#toEnumError"><span class="hs-identifier hs-var">toEnumError</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Word&quot;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492681"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-var">minBound</span></a></span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-686"></span><span>    </span><span id="local-6989586621679492676"><span class="annot"><span class="annottext">fromEnum :: Word -&gt; Int
</span><a href="#local-6989586621679492676"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span id="local-6989586621679492675"><span class="annot"><span class="annottext">x :: Word
</span><a href="#local-6989586621679492675"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492674"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492674"><span class="hs-identifier hs-var">x#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-687"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492675"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="GHC.Enum.html#maxIntWord"><span class="hs-identifier hs-var">maxIntWord</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492674"><span class="hs-identifier hs-var">x#</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-688"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Word -&gt; Int
forall a b. Show a =&gt; String -&gt; a -&gt; b
</span><a href="GHC.Enum.html#fromEnumError"><span class="hs-identifier hs-var">fromEnumError</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Word&quot;</span></span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679492675"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-689"></span><span>
</span><span id="line-690"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-pragma hs-type">enumFrom</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-691"></span><span>    </span><span id="local-6989586621679492671"><span class="annot"><span class="annottext">enumFrom :: Word -&gt; [Word]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492670"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492670"><span class="hs-identifier hs-var">x#</span></a></span></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#eftWord"><span class="hs-identifier hs-var">eftWord</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492670"><span class="hs-identifier hs-var">x#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492668"><span class="hs-identifier hs-var">maxWord#</span></a></span><span>
</span><span id="line-692"></span><span>        </span><span class="hs-keyword">where</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492668"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492668"><span class="hs-identifier hs-var">maxWord#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span>
</span><span id="line-693"></span><span>        </span><span class="hs-comment">-- Blarg: technically I guess enumFrom isn't strict!</span><span>
</span><span id="line-694"></span><span>
</span><span id="line-695"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-pragma hs-type">enumFromTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-696"></span><span>    </span><span id="local-6989586621679492666"><span class="annot"><span class="annottext">enumFromTo :: Word -&gt; Word -&gt; [Word]
</span><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492665"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492665"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492664"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492664"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#eftWord"><span class="hs-identifier hs-var">eftWord</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492665"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492664"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-697"></span><span>
</span><span id="line-698"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-pragma hs-type">enumFromThen</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-699"></span><span>    </span><span id="local-6989586621679492663"><span class="annot"><span class="annottext">enumFromThen :: Word -&gt; Word -&gt; [Word]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492662"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492662"><span class="hs-identifier hs-var">x1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492661"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492661"><span class="hs-identifier hs-var">x2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdWord"><span class="hs-identifier hs-var">efdWord</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492662"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492661"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-700"></span><span>
</span><span id="line-701"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-pragma hs-type">enumFromThenTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-702"></span><span>    </span><span id="local-6989586621679492659"><span class="annot"><span class="annottext">enumFromThenTo :: Word -&gt; Word -&gt; Word -&gt; [Word]
</span><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThenTo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492658"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492658"><span class="hs-identifier hs-var">x1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492657"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492657"><span class="hs-identifier hs-var">x2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492656"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492656"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWord"><span class="hs-identifier hs-var">efdtWord</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492658"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492657"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492656"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-703"></span><span>
</span><span id="line-704"></span><span class="annot"><a href="GHC.Enum.html#maxIntWord"><span class="hs-identifier hs-type">maxIntWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-705"></span><span class="hs-comment">-- The biggest word representable as an Int</span><span>
</span><span id="line-706"></span><span id="maxIntWord"><span class="annot"><span class="annottext">maxIntWord :: Word
</span><a href="GHC.Enum.html#maxIntWord"><span class="hs-identifier hs-var hs-var">maxIntWord</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Base.html#maxInt"><span class="hs-identifier hs-var">maxInt</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492654"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492654"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492654"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-707"></span><span>
</span><span id="line-708"></span><span class="hs-comment">-----------------------------------------------------</span><span>
</span><span id="line-709"></span><span class="hs-comment">-- eftWord and eftWordFB deal with [a..b], which is the</span><span>
</span><span id="line-710"></span><span class="hs-comment">-- most common form, so we take a lot of care</span><span>
</span><span id="line-711"></span><span class="hs-comment">-- In particular, we have rules for deforestation</span><span>
</span><span id="line-712"></span><span>
</span><span id="line-713"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-714"></span><span class="annot"><span class="hs-pragma">&quot;eftWord&quot;</span></span><span>        </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492653"><span class="annot"><a href="#local-6989586621679492653"><span class="hs-pragma hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492652"><span class="annot"><a href="#local-6989586621679492652"><span class="hs-pragma hs-var">y</span></a></span></span><span class="hs-pragma">.</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftWord"><span class="hs-pragma hs-type">eftWord</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492653"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492652"><span class="hs-pragma hs-type">y</span></a></span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span> </span><span id="local-6989586621679492651"><span class="annot"><a href="#local-6989586621679492651"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492650"><span class="annot"><a href="#local-6989586621679492650"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftWordFB"><span class="hs-pragma hs-type">eftWordFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492651"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492650"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492653"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492652"><span class="hs-pragma hs-type">y</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-715"></span><span class="annot"><span class="hs-pragma">&quot;eftWordList&quot;</span></span><span>    </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftWordFB"><span class="hs-pragma hs-type">eftWordFB</span></a></span><span>  </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftWord"><span class="hs-pragma hs-type">eftWord</span></a></span><span>
</span><span id="line-716"></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-717"></span><span>
</span><span id="line-718"></span><span class="hs-comment">-- The Enum rules for Word work much the same way that they do for Int.</span><span>
</span><span id="line-719"></span><span class="hs-comment">-- See Note [How the Enum rules work].</span><span>
</span><span id="line-720"></span><span>
</span><span id="line-721"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftWord"><span class="hs-pragma hs-type">eftWord</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-722"></span><span class="annot"><a href="GHC.Enum.html#eftWord"><span class="hs-identifier hs-type">eftWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-723"></span><span class="hs-comment">-- [x1..x2]</span><span>
</span><span id="line-724"></span><span id="eftWord"><span class="annot"><span class="annottext">eftWord :: Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#eftWord"><span class="hs-identifier hs-var hs-var">eftWord</span></a></span></span><span> </span><span id="local-6989586621679492648"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492648"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492647"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492647"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492648"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492647"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-725"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; [Word]
</span><a href="#local-6989586621679492646"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492648"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-726"></span><span>                </span><span class="hs-keyword">where</span><span>
</span><span id="line-727"></span><span>                  </span><span id="local-6989586621679492646"><span class="annot"><span class="annottext">go :: Word# -&gt; [Word]
</span><a href="#local-6989586621679492646"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492645"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492645"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492645"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; [Word] -&gt; [Word]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492645"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#eqWord%23"><span class="hs-operator hs-var">`eqWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492647"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-728"></span><span>                                </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-729"></span><span>                                </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; [Word]
</span><a href="#local-6989586621679492646"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492645"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-730"></span><span>
</span><span id="line-731"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#eftWordFB"><span class="hs-pragma hs-type">eftWordFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-732"></span><span id="local-6989586621679493615"><span class="annot"><a href="GHC.Enum.html#eftWordFB"><span class="hs-identifier hs-type">eftWordFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493615"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493615"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493615"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493615"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-733"></span><span id="eftWordFB"><span class="annot"><span class="annottext">eftWordFB :: forall r. (Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; r
</span><a href="GHC.Enum.html#eftWordFB"><span class="hs-identifier hs-var hs-var">eftWordFB</span></a></span></span><span> </span><span id="local-6989586621679492644"><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492644"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492643"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492643"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492642"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492642"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492641"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492641"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492642"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492641"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492643"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-734"></span><span>                   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; r
</span><a href="#local-6989586621679492640"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492642"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-735"></span><span>                  </span><span class="hs-keyword">where</span><span>
</span><span id="line-736"></span><span>                    </span><span id="local-6989586621679492640"><span class="annot"><span class="annottext">go :: Word# -&gt; r
</span><a href="#local-6989586621679492640"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492639"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492639"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492639"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492644"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492639"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#eqWord%23"><span class="hs-operator hs-var">`eqWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492641"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-737"></span><span>                                    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492643"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-738"></span><span>                                    </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; r
</span><a href="#local-6989586621679492640"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492639"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-739"></span><span>                        </span><span class="hs-comment">-- Watch out for y=maxBound; hence ==, not &gt;</span><span>
</span><span id="line-740"></span><span>        </span><span class="hs-comment">-- Be very careful not to have more than one &quot;c&quot;</span><span>
</span><span id="line-741"></span><span>        </span><span class="hs-comment">-- so that when eftInfFB is inlined we can inline</span><span>
</span><span id="line-742"></span><span>        </span><span class="hs-comment">-- whatever is bound to &quot;c&quot;</span><span>
</span><span id="line-743"></span><span>
</span><span id="line-744"></span><span>
</span><span id="line-745"></span><span class="hs-comment">-----------------------------------------------------</span><span>
</span><span id="line-746"></span><span class="hs-comment">-- efdWord and efdtWord deal with [a,b..] and [a,b..c].</span><span>
</span><span id="line-747"></span><span class="hs-comment">-- The code is more complicated because of worries about Word overflow.</span><span>
</span><span id="line-748"></span><span>
</span><span id="line-749"></span><span class="hs-comment">-- See Note [How the Enum rules work]</span><span>
</span><span id="line-750"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-751"></span><span class="annot"><span class="hs-pragma">&quot;efdtWord&quot;</span></span><span>       </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492638"><span class="annot"><a href="#local-6989586621679492638"><span class="hs-pragma hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492637"><span class="annot"><a href="#local-6989586621679492637"><span class="hs-pragma hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492636"><span class="annot"><a href="#local-6989586621679492636"><span class="hs-pragma hs-var">y</span></a></span></span><span class="hs-pragma">.</span><span>
</span><span id="line-752"></span><span>                     </span><span class="annot"><a href="GHC.Enum.html#efdtWord"><span class="hs-pragma hs-type">efdtWord</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492638"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492637"><span class="hs-pragma hs-type">x2</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492636"><span class="hs-pragma hs-type">y</span></a></span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span> </span><span id="local-6989586621679492635"><span class="annot"><a href="#local-6989586621679492635"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492634"><span class="annot"><a href="#local-6989586621679492634"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtWordFB"><span class="hs-pragma hs-type">efdtWordFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492635"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492634"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492638"><span class="hs-pragma hs-type">x1</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492637"><span class="hs-pragma hs-type">x2</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492636"><span class="hs-pragma hs-type">y</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-753"></span><span class="annot"><span class="hs-pragma">&quot;efdtWordUpList&quot;</span></span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span>  </span><span class="annot"><a href="GHC.Enum.html#efdtWordFB"><span class="hs-pragma hs-type">efdtWordFB</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtWord"><span class="hs-pragma hs-type">efdtWord</span></a></span><span>
</span><span id="line-754"></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-755"></span><span>
</span><span id="line-756"></span><span class="annot"><a href="GHC.Enum.html#efdWord"><span class="hs-identifier hs-type">efdWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-757"></span><span class="hs-comment">-- [x1,x2..maxWord]</span><span>
</span><span id="line-758"></span><span id="efdWord"><span class="annot"><span class="annottext">efdWord :: Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdWord"><span class="hs-identifier hs-var hs-var">efdWord</span></a></span></span><span> </span><span id="local-6989586621679492632"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492632"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492631"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492631"><span class="hs-identifier hs-var">x2</span></a></span></span><span>
</span><span id="line-759"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492631"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#geWord%23"><span class="hs-operator hs-var">`geWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492632"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#maxBound"><span class="hs-identifier hs-var">maxBound</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492630"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492630"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWordUp"><span class="hs-identifier hs-var">efdtWordUp</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492632"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492631"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492630"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-760"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word
forall a. Bounded a =&gt; a
</span><a href="GHC.Enum.html#minBound"><span class="hs-identifier hs-var">minBound</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679492628"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492628"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWordDn"><span class="hs-identifier hs-var">efdtWordDn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492632"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492631"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492628"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-761"></span><span>
</span><span id="line-762"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtWord"><span class="hs-pragma hs-type">efdtWord</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-763"></span><span class="annot"><a href="GHC.Enum.html#efdtWord"><span class="hs-identifier hs-type">efdtWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-764"></span><span class="hs-comment">-- [x1,x2..y]</span><span>
</span><span id="line-765"></span><span id="efdtWord"><span class="annot"><span class="annottext">efdtWord :: Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWord"><span class="hs-identifier hs-var hs-var">efdtWord</span></a></span></span><span> </span><span id="local-6989586621679492626"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492626"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492625"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492625"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492624"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492624"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-766"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492625"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#geWord%23"><span class="hs-operator hs-var">`geWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492626"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWordUp"><span class="hs-identifier hs-var">efdtWordUp</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492626"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492625"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492624"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-767"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWordDn"><span class="hs-identifier hs-var">efdtWordDn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492626"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492625"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492624"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-768"></span><span>
</span><span id="line-769"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtWordFB"><span class="hs-pragma hs-type">efdtWordFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-770"></span><span id="local-6989586621679493613"><span class="annot"><a href="GHC.Enum.html#efdtWordFB"><span class="hs-identifier hs-type">efdtWordFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493613"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493613"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493613"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493613"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-771"></span><span id="efdtWordFB"><span class="annot"><span class="annottext">efdtWordFB :: forall r. (Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
</span><a href="GHC.Enum.html#efdtWordFB"><span class="hs-identifier hs-var hs-var">efdtWordFB</span></a></span></span><span> </span><span id="local-6989586621679492623"><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492623"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492622"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492622"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492621"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492621"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492620"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492620"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492619"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492619"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-772"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492620"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#geWord%23"><span class="hs-operator hs-var">`geWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492621"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
forall r. (Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
</span><a href="GHC.Enum.html#efdtWordUpFB"><span class="hs-identifier hs-var">efdtWordUpFB</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492623"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492622"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492621"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492620"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492619"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-773"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
forall r. (Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
</span><a href="GHC.Enum.html#efdtWordDnFB"><span class="hs-identifier hs-var">efdtWordDnFB</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492623"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492622"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492621"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492620"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492619"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-774"></span><span>
</span><span id="line-775"></span><span class="hs-comment">-- Requires x2 &gt;= x1</span><span>
</span><span id="line-776"></span><span class="annot"><a href="GHC.Enum.html#efdtWordUp"><span class="hs-identifier hs-type">efdtWordUp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-777"></span><span id="efdtWordUp"><span class="annot"><span class="annottext">efdtWordUp :: Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWordUp"><span class="hs-identifier hs-var hs-var">efdtWordUp</span></a></span></span><span> </span><span id="local-6989586621679492616"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492616"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492615"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492615"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492614"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492614"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about overflow!</span><span>
</span><span id="line-778"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492614"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492615"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492614"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492616"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492616"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-779"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &lt;= x2 &lt;= y</span><span>
</span><span id="line-780"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492613"><span class="annot"><span class="annottext">delta :: Word#
</span><a href="#local-6989586621679492613"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492615"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492616"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &gt;= 0</span><span>
</span><span id="line-781"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492612"><span class="annot"><span class="annottext">y' :: Word#
</span><a href="#local-6989586621679492612"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492614"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492613"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- x1 &lt;= y' &lt;= y; hence y' is representable</span><span>
</span><span id="line-782"></span><span>
</span><span id="line-783"></span><span>                   </span><span class="hs-comment">-- Invariant: x &lt;= y</span><span>
</span><span id="line-784"></span><span>                   </span><span class="hs-comment">-- Note that: z &lt;= y' =&gt; z + delta won't overflow</span><span>
</span><span id="line-785"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to overflow if/when we recurse</span><span>
</span><span id="line-786"></span><span>                   </span><span id="local-6989586621679492611"><span class="annot"><span class="annottext">go_up :: Word# -&gt; [Word]
</span><a href="#local-6989586621679492611"><span class="hs-identifier hs-var hs-var">go_up</span></a></span></span><span> </span><span id="local-6989586621679492610"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492610"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492610"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492612"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492610"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-787"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492610"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; [Word] -&gt; [Word]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; [Word]
</span><a href="#local-6989586621679492611"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492610"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492613"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-788"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492616"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; [Word] -&gt; [Word]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; [Word]
</span><a href="#local-6989586621679492611"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492615"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-789"></span><span>
</span><span id="line-790"></span><span class="hs-comment">-- Requires x2 &gt;= x1</span><span>
</span><span id="line-791"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtWordUpFB"><span class="hs-pragma hs-type">efdtWordUpFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-792"></span><span id="local-6989586621679492609"><span class="annot"><a href="GHC.Enum.html#efdtWordUpFB"><span class="hs-identifier hs-type">efdtWordUpFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492609"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492609"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492609"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492609"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-793"></span><span id="efdtWordUpFB"><span class="annot"><span class="annottext">efdtWordUpFB :: forall r. (Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
</span><a href="GHC.Enum.html#efdtWordUpFB"><span class="hs-identifier hs-var hs-var">efdtWordUpFB</span></a></span></span><span> </span><span id="local-6989586621679492608"><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492608"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492607"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492607"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492606"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492606"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492605"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492605"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492604"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492604"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about overflow!</span><span>
</span><span id="line-794"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492604"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492605"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492604"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492606"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492607"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492606"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492608"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492607"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-795"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &lt;= x2 &lt;= y</span><span>
</span><span id="line-796"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492603"><span class="annot"><span class="annottext">delta :: Word#
</span><a href="#local-6989586621679492603"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492605"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492606"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &gt;= 0</span><span>
</span><span id="line-797"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492602"><span class="annot"><span class="annottext">y' :: Word#
</span><a href="#local-6989586621679492602"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492604"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492603"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- x1 &lt;= y' &lt;= y; hence y' is representable</span><span>
</span><span id="line-798"></span><span>
</span><span id="line-799"></span><span>                   </span><span class="hs-comment">-- Invariant: x &lt;= y</span><span>
</span><span id="line-800"></span><span>                   </span><span class="hs-comment">-- Note that: z &lt;= y' =&gt; z + delta won't overflow</span><span>
</span><span id="line-801"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to overflow if/when we recurse</span><span>
</span><span id="line-802"></span><span>                   </span><span id="local-6989586621679492601"><span class="annot"><span class="annottext">go_up :: Word# -&gt; r
</span><a href="#local-6989586621679492601"><span class="hs-identifier hs-var hs-var">go_up</span></a></span></span><span> </span><span id="local-6989586621679492600"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492600"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492600"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492602"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492600"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492608"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492607"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-803"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492600"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492608"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; r
</span><a href="#local-6989586621679492601"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492600"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492603"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-804"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492606"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492608"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; r
</span><a href="#local-6989586621679492601"><span class="hs-identifier hs-var">go_up</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492605"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-805"></span><span>
</span><span id="line-806"></span><span class="hs-comment">-- Requires x2 &lt;= x1</span><span>
</span><span id="line-807"></span><span class="annot"><a href="GHC.Enum.html#efdtWordDn"><span class="hs-identifier hs-type">efdtWordDn</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-808"></span><span id="efdtWordDn"><span class="annot"><span class="annottext">efdtWordDn :: Word# -&gt; Word# -&gt; Word# -&gt; [Word]
</span><a href="GHC.Enum.html#efdtWordDn"><span class="hs-identifier hs-var hs-var">efdtWordDn</span></a></span></span><span> </span><span id="local-6989586621679492599"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492599"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492598"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492598"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492597"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492597"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about underflow!</span><span>
</span><span id="line-809"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492597"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492598"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492597"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492599"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492599"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-810"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &gt;= x2 &gt;= y</span><span>
</span><span id="line-811"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492596"><span class="annot"><span class="annottext">delta :: Word#
</span><a href="#local-6989586621679492596"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492598"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492599"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &lt;= 0</span><span>
</span><span id="line-812"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492595"><span class="annot"><span class="annottext">y' :: Word#
</span><a href="#local-6989586621679492595"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492597"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492596"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- y &lt;= y' &lt;= x1; hence y' is representable</span><span>
</span><span id="line-813"></span><span>
</span><span id="line-814"></span><span>                   </span><span class="hs-comment">-- Invariant: x &gt;= y</span><span>
</span><span id="line-815"></span><span>                   </span><span class="hs-comment">-- Note that: z &gt;= y' =&gt; z + delta won't underflow</span><span>
</span><span id="line-816"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to underflow if/when we recurse</span><span>
</span><span id="line-817"></span><span>                   </span><span id="local-6989586621679492594"><span class="annot"><span class="annottext">go_dn :: Word# -&gt; [Word]
</span><a href="#local-6989586621679492594"><span class="hs-identifier hs-var hs-var">go_dn</span></a></span></span><span> </span><span id="local-6989586621679492593"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492593"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492593"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492595"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492593"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-818"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492593"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; [Word] -&gt; [Word]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; [Word]
</span><a href="#local-6989586621679492594"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492593"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492596"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-819"></span><span>   </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492599"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; [Word] -&gt; [Word]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; [Word]
</span><a href="#local-6989586621679492594"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492598"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-820"></span><span>
</span><span id="line-821"></span><span class="hs-comment">-- Requires x2 &lt;= x1</span><span>
</span><span id="line-822"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#efdtWordDnFB"><span class="hs-pragma hs-type">efdtWordDnFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-823"></span><span id="local-6989586621679492592"><span class="annot"><a href="GHC.Enum.html#efdtWordDnFB"><span class="hs-identifier hs-type">efdtWordDnFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492592"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492592"><span class="hs-identifier hs-type">r</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492592"><span class="hs-identifier hs-type">r</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492592"><span class="hs-identifier hs-type">r</span></a></span></span><span>
</span><span id="line-824"></span><span id="efdtWordDnFB"><span class="annot"><span class="annottext">efdtWordDnFB :: forall r. (Word -&gt; r -&gt; r) -&gt; r -&gt; Word# -&gt; Word# -&gt; Word# -&gt; r
</span><a href="GHC.Enum.html#efdtWordDnFB"><span class="hs-identifier hs-var hs-var">efdtWordDnFB</span></a></span></span><span> </span><span id="local-6989586621679492591"><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492591"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492590"><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492590"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492589"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492589"><span class="hs-identifier hs-var">x1</span></a></span></span><span> </span><span id="local-6989586621679492588"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492588"><span class="hs-identifier hs-var">x2</span></a></span></span><span> </span><span id="local-6989586621679492587"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492587"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-comment">-- Be careful about underflow!</span><span>
</span><span id="line-825"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492587"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492588"><span class="hs-identifier hs-var">x2</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492587"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492589"><span class="hs-identifier hs-var">x1</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492590"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492589"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492591"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492590"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-826"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- Common case: x1 &gt;= x2 &gt;= y</span><span>
</span><span id="line-827"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492586"><span class="annot"><span class="annottext">delta :: Word#
</span><a href="#local-6989586621679492586"><span class="hs-identifier hs-var hs-var">delta</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492588"><span class="hs-identifier hs-var">x2</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492589"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="hs-comment">-- &lt;= 0</span><span>
</span><span id="line-828"></span><span>                   </span><span class="hs-glyph">!</span><span id="local-6989586621679492585"><span class="annot"><span class="annottext">y' :: Word#
</span><a href="#local-6989586621679492585"><span class="hs-identifier hs-var hs-var">y'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492587"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492586"><span class="hs-identifier hs-var">delta</span></a></span><span>  </span><span class="hs-comment">-- y &lt;= y' &lt;= x1; hence y' is representable</span><span>
</span><span id="line-829"></span><span>
</span><span id="line-830"></span><span>                   </span><span class="hs-comment">-- Invariant: x &gt;= y</span><span>
</span><span id="line-831"></span><span>                   </span><span class="hs-comment">-- Note that: z &gt;= y' =&gt; z + delta won't underflow</span><span>
</span><span id="line-832"></span><span>                   </span><span class="hs-comment">-- so we are guaranteed not to underflow if/when we recurse</span><span>
</span><span id="line-833"></span><span>                   </span><span id="local-6989586621679492584"><span class="annot"><span class="annottext">go_dn :: Word# -&gt; r
</span><a href="#local-6989586621679492584"><span class="hs-identifier hs-var hs-var">go_dn</span></a></span></span><span> </span><span id="local-6989586621679492583"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492583"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492583"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492585"><span class="hs-identifier hs-var">y'</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492583"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492591"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">r
</span><a href="#local-6989586621679492590"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-834"></span><span>                           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492583"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492591"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; r
</span><a href="#local-6989586621679492584"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492583"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492586"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-835"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492589"><span class="hs-identifier hs-var">x1</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; r -&gt; r
</span><a href="#local-6989586621679492591"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; r
</span><a href="#local-6989586621679492584"><span class="hs-identifier hs-var">go_dn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492588"><span class="hs-identifier hs-var">x2</span></a></span><span>
</span><span id="line-836"></span><span>
</span><span id="line-837"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-838"></span><span class="hs-comment">-- Integer</span><span>
</span><span id="line-839"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-840"></span><span>
</span><span id="line-841"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-842"></span><span class="hs-keyword">instance</span><span>  </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-843"></span><span>    </span><span id="local-6989586621679492571"><span class="annot"><span class="annottext">succ :: Integer -&gt; Integer
</span><a href="#local-6989586621679492571"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span id="local-6989586621679492570"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492570"><span class="hs-identifier hs-var">x</span></a></span></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492570"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span>
</span><span id="line-844"></span><span>    </span><span id="local-6989586621679492567"><span class="annot"><span class="annottext">pred :: Integer -&gt; Integer
</span><a href="#local-6989586621679492567"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679492566"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492566"><span class="hs-identifier hs-var">x</span></a></span></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492566"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span>
</span><span id="line-845"></span><span>    </span><span id="local-6989586621679492565"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Integer
</span><a href="#local-6989586621679492565"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492564"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492564"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Integer
</span><a href="../../ghc-bignum/src/GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492564"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-846"></span><span>    </span><span id="local-6989586621679492563"><span class="annot"><span class="annottext">fromEnum :: Integer -&gt; Int
</span><a href="#local-6989586621679492563"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span id="local-6989586621679492562"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492562"><span class="hs-identifier hs-var">n</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Int
</span><a href="../../ghc-bignum/src/GHC.Num.Integer.html#integerToInt"><span class="hs-identifier hs-var">integerToInt</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492562"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-847"></span><span>
</span><span id="line-848"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-849"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-pragma hs-type">enumFrom</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-850"></span><span>    </span><span id="local-6989586621679492560"><span class="annot"><span class="annottext">enumFrom :: Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span> </span><span id="local-6989586621679492559"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492559"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-identifier hs-var">enumDeltaInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492559"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span>
</span><span id="line-851"></span><span>
</span><span id="line-852"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-853"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-pragma hs-type">enumFromThen</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-854"></span><span>    </span><span id="local-6989586621679492556"><span class="annot"><span class="annottext">enumFromThen :: Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span id="local-6989586621679492555"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492555"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492554"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492554"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-identifier hs-var">enumDeltaInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492555"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492554"><span class="hs-identifier hs-var">y</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492555"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-855"></span><span>
</span><span id="line-856"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-857"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-pragma hs-type">enumFromTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-858"></span><span>    </span><span id="local-6989586621679492553"><span class="annot"><span class="annottext">enumFromTo :: Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromTo</span></a></span></span><span> </span><span id="local-6989586621679492552"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492552"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492551"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492551"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-identifier hs-var">enumDeltaToInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492552"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492551"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-859"></span><span>
</span><span id="line-860"></span><span>    </span><span class="hs-comment">-- See Note [Stable Unfolding for list producers]</span><span>
</span><span id="line-861"></span><span>    </span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-pragma hs-type">enumFromThenTo</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-862"></span><span>    </span><span id="local-6989586621679492548"><span class="annot"><span class="annottext">enumFromThenTo :: Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThenTo</span></a></span></span><span> </span><span id="local-6989586621679492547"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492547"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492546"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492546"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span id="local-6989586621679492545"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492545"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-identifier hs-var">enumDeltaToInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492547"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492546"><span class="hs-identifier hs-var">y</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492547"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492545"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-863"></span><span>
</span><span id="line-864"></span><span class="hs-comment">-- See Note [How the Enum rules work]</span><span>
</span><span id="line-865"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-866"></span><span class="annot"><span class="hs-pragma">&quot;enumDeltaInteger&quot;</span></span><span>      </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492544"><span class="annot"><a href="#local-6989586621679492544"><span class="hs-pragma hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492543"><span class="annot"><a href="#local-6989586621679492543"><span class="hs-pragma hs-var">y</span></a></span></span><span class="hs-pragma">.</span><span>   </span><span class="annot"><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-pragma hs-type">enumDeltaInteger</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492544"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492543"><span class="hs-pragma hs-type">y</span></a></span><span>         </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span id="local-6989586621679492542"><span class="annot"><a href="#local-6989586621679492542"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="hs-pragma">_</span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaIntegerFB"><span class="hs-pragma hs-type">enumDeltaIntegerFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492542"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492544"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492543"><span class="hs-pragma hs-type">y</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-867"></span><span class="annot"><span class="hs-pragma">&quot;efdtInteger&quot;</span></span><span>           </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492540"><span class="annot"><a href="#local-6989586621679492540"><span class="hs-pragma hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492539"><span class="annot"><a href="#local-6989586621679492539"><span class="hs-pragma hs-var">d</span></a></span></span><span> </span><span id="local-6989586621679492538"><span class="annot"><a href="#local-6989586621679492538"><span class="hs-pragma hs-var">l</span></a></span></span><span class="hs-pragma">.</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-pragma hs-type">enumDeltaToInteger</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492540"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492539"><span class="hs-pragma hs-type">d</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492538"><span class="hs-pragma hs-type">l</span></a></span><span>     </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span id="local-6989586621679492537"><span class="annot"><a href="#local-6989586621679492537"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492536"><span class="annot"><a href="#local-6989586621679492536"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToIntegerFB"><span class="hs-pragma hs-type">enumDeltaToIntegerFB</span></a></span><span>  </span><span class="annot"><a href="#local-6989586621679492537"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492536"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492540"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492539"><span class="hs-pragma hs-type">d</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492538"><span class="hs-pragma hs-type">l</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-868"></span><span class="annot"><span class="hs-pragma">&quot;efdtInteger1&quot;</span></span><span>          </span><span class="hs-pragma">[</span><span class="hs-pragma">~</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492534"><span class="annot"><a href="#local-6989586621679492534"><span class="hs-pragma hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492533"><span class="annot"><a href="#local-6989586621679492533"><span class="hs-pragma hs-var">l</span></a></span></span><span class="hs-pragma">.</span><span>   </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-pragma hs-type">enumDeltaToInteger</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492534"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><span class="hs-pragma">1</span></span><span> </span><span class="annot"><a href="#local-6989586621679492533"><span class="hs-pragma hs-type">l</span></a></span><span>     </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Base.html#build"><span class="hs-pragma hs-type">build</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">\</span><span id="local-6989586621679492532"><span class="annot"><a href="#local-6989586621679492532"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492531"><span class="annot"><a href="#local-6989586621679492531"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span class="hs-pragma">-&gt;</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1FB"><span class="hs-pragma hs-type">enumDeltaToInteger1FB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492532"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492531"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492534"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492533"><span class="hs-pragma hs-type">l</span></a></span><span class="hs-pragma">)</span><span>
</span><span id="line-869"></span><span>
</span><span id="line-870"></span><span class="annot"><span class="hs-pragma">&quot;enumDeltaToInteger1FB&quot;</span></span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679492529"><span class="annot"><a href="#local-6989586621679492529"><span class="hs-pragma hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492528"><span class="annot"><a href="#local-6989586621679492528"><span class="hs-pragma hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492527"><span class="annot"><a href="#local-6989586621679492527"><span class="hs-pragma hs-var">x</span></a></span></span><span class="hs-pragma">.</span><span>  </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToIntegerFB"><span class="hs-pragma hs-type">enumDeltaToIntegerFB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492529"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492528"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492527"><span class="hs-pragma hs-type">x</span></a></span><span> </span><span class="annot"><span class="hs-pragma">1</span></span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1FB"><span class="hs-pragma hs-type">enumDeltaToInteger1FB</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492529"><span class="hs-pragma hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492528"><span class="hs-pragma hs-type">n</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679492527"><span class="hs-pragma hs-type">x</span></a></span><span>
</span><span id="line-871"></span><span>
</span><span id="line-872"></span><span class="annot"><span class="hs-pragma">&quot;enumDeltaInteger&quot;</span></span><span>      </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaIntegerFB"><span class="hs-pragma hs-type">enumDeltaIntegerFB</span></a></span><span>    </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span>     </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-pragma hs-type">enumDeltaInteger</span></a></span><span>
</span><span id="line-873"></span><span class="annot"><span class="hs-pragma">&quot;enumDeltaToInteger&quot;</span></span><span>    </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToIntegerFB"><span class="hs-pragma hs-type">enumDeltaToIntegerFB</span></a></span><span>  </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span>  </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-pragma hs-type">enumDeltaToInteger</span></a></span><span>
</span><span id="line-874"></span><span class="annot"><span class="hs-pragma">&quot;enumDeltaToInteger1&quot;</span></span><span>   </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1FB"><span class="hs-pragma hs-type">enumDeltaToInteger1FB</span></a></span><span> </span><span class="hs-pragma">(</span><span class="hs-pragma">:</span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">]</span><span>  </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1"><span class="hs-pragma hs-type">enumDeltaToInteger1</span></a></span><span>
</span><span id="line-875"></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-876"></span><span>
</span><span id="line-877"></span><span class="hs-comment">{- Note [Enum Integer rules for literal 1]
The &quot;1&quot; rules above specialise for the common case where delta = 1,
so that we can avoid the delta&gt;=0 test in enumDeltaToIntegerFB.
Then enumDeltaToInteger1FB is nice and small and can be inlined,
which would allow the constructor to be inlined and good things to happen.

We match on the literal &quot;1&quot; both in phase 2 (rule &quot;efdtInteger1&quot;) and
phase 1 (rule &quot;enumDeltaToInteger1FB&quot;), just for belt and braces

We do not do it for Int this way because hand-tuned code already exists, and
the special case varies more from the general case, due to the issue of overflows.
-}</span><span>
</span><span id="line-889"></span><span>
</span><span id="line-890"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaIntegerFB"><span class="hs-pragma hs-type">enumDeltaIntegerFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-891"></span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-892"></span><span id="local-6989586621679493609"><span class="annot"><a href="GHC.Enum.html#enumDeltaIntegerFB"><span class="hs-identifier hs-type">enumDeltaIntegerFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493609"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493609"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493609"><span class="hs-identifier hs-type">b</span></a></span></span><span>
</span><span id="line-893"></span><span id="enumDeltaIntegerFB"><span class="annot"><span class="annottext">enumDeltaIntegerFB :: forall b. (Integer -&gt; b -&gt; b) -&gt; Integer -&gt; Integer -&gt; b
</span><a href="GHC.Enum.html#enumDeltaIntegerFB"><span class="hs-identifier hs-var hs-var">enumDeltaIntegerFB</span></a></span></span><span> </span><span id="local-6989586621679492525"><span class="annot"><span class="annottext">Integer -&gt; b -&gt; b
</span><a href="#local-6989586621679492525"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492524"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492524"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492523"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492523"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; b
</span><a href="#local-6989586621679492522"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492524"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-894"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679492522"><span class="annot"><span class="annottext">go :: Integer -&gt; b
</span><a href="#local-6989586621679492522"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492520"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492520"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492520"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; b -&gt; b
</span><a href="../../ghc-prim/src/GHC.Prim.html#seq"><span class="hs-operator hs-var">`seq`</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492520"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; b -&gt; b
</span><a href="#local-6989586621679492525"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; b
</span><a href="#local-6989586621679492522"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492520"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492523"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-895"></span><span>
</span><span id="line-896"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-pragma hs-type">enumDeltaInteger</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-897"></span><span class="annot"><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-identifier hs-type">enumDeltaInteger</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-898"></span><span id="enumDeltaInteger"><span class="annot"><span class="annottext">enumDeltaInteger :: Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-identifier hs-var hs-var">enumDeltaInteger</span></a></span></span><span> </span><span id="local-6989586621679492519"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492519"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492518"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492518"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492519"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer] -&gt; [Integer]
</span><a href="../../ghc-prim/src/GHC.Prim.html#seq"><span class="hs-operator hs-var">`seq`</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492519"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer] -&gt; [Integer]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaInteger"><span class="hs-identifier hs-var">enumDeltaInteger</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492519"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492518"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492518"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-899"></span><span class="hs-comment">-- strict accumulator, so</span><span>
</span><span id="line-900"></span><span class="hs-comment">--     head (drop 1000000 [1 .. ]</span><span>
</span><span id="line-901"></span><span class="hs-comment">-- works</span><span>
</span><span id="line-902"></span><span>
</span><span id="line-903"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToIntegerFB"><span class="hs-pragma hs-type">enumDeltaToIntegerFB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-904"></span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-905"></span><span class="hs-comment">-- Don't inline this until RULE &quot;enumDeltaToInteger&quot; has had a chance to fire</span><span>
</span><span id="line-906"></span><span id="local-6989586621679493605"><span class="annot"><a href="GHC.Enum.html#enumDeltaToIntegerFB"><span class="hs-identifier hs-type">enumDeltaToIntegerFB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493605"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493605"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493605"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-907"></span><span>                     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493605"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-908"></span><span id="enumDeltaToIntegerFB"><span class="annot"><span class="annottext">enumDeltaToIntegerFB :: forall a.
(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
</span><a href="GHC.Enum.html#enumDeltaToIntegerFB"><span class="hs-identifier hs-var hs-var">enumDeltaToIntegerFB</span></a></span></span><span> </span><span id="local-6989586621679492515"><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492515"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492514"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492514"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492513"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492513"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492512"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492512"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492511"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492511"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-909"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492512"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
forall a.
(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
</span><a href="GHC.Enum.html#up_fb"><span class="hs-identifier hs-var">up_fb</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492515"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492514"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492513"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492512"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492511"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-910"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
forall a.
(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
</span><a href="GHC.Enum.html#dn_fb"><span class="hs-identifier hs-var">dn_fb</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492515"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492514"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492513"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492512"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492511"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-911"></span><span>
</span><span id="line-912"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">0</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1FB"><span class="hs-pragma hs-type">enumDeltaToInteger1FB</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-913"></span><span class="hs-comment">-- See Note [Inline FB functions] in GHC.List</span><span>
</span><span id="line-914"></span><span class="hs-comment">-- Don't inline this until RULE &quot;enumDeltaToInteger&quot; has had a chance to fire</span><span>
</span><span id="line-915"></span><span id="local-6989586621679493603"><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1FB"><span class="hs-identifier hs-type">enumDeltaToInteger1FB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493603"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493603"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493603"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-916"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679493603"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-917"></span><span id="enumDeltaToInteger1FB"><span class="annot"><span class="annottext">enumDeltaToInteger1FB :: forall a. (Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; a
</span><a href="GHC.Enum.html#enumDeltaToInteger1FB"><span class="hs-identifier hs-var hs-var">enumDeltaToInteger1FB</span></a></span></span><span> </span><span id="local-6989586621679492508"><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492508"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492507"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492507"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492506"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492506"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492505"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492505"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a
</span><a href="#local-6989586621679492504"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492506"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-918"></span><span>                      </span><span class="hs-keyword">where</span><span>
</span><span id="line-919"></span><span>                        </span><span id="local-6989586621679492504"><span class="annot"><span class="annottext">go :: Integer -&gt; a
</span><a href="#local-6989586621679492504"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492500"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492500"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492500"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var">&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492505"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492507"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-920"></span><span>                             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492500"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492508"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a
</span><a href="#local-6989586621679492504"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492500"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-921"></span><span>
</span><span id="line-922"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-pragma hs-type">enumDeltaToInteger</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-923"></span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-identifier hs-type">enumDeltaToInteger</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-924"></span><span id="enumDeltaToInteger"><span class="annot"><span class="annottext">enumDeltaToInteger :: Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaToInteger"><span class="hs-identifier hs-var hs-var">enumDeltaToInteger</span></a></span></span><span> </span><span id="local-6989586621679492498"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492498"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492497"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492497"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492496"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492496"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-925"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492497"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#up_list"><span class="hs-identifier hs-var">up_list</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492498"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492497"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492496"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-926"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#dn_list"><span class="hs-identifier hs-var">dn_list</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492498"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492497"><span class="hs-identifier hs-var">delta</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492496"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-927"></span><span>
</span><span id="line-928"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">[</span><span class="hs-pragma">1</span><span class="hs-pragma">]</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1"><span class="hs-pragma hs-type">enumDeltaToInteger1</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-929"></span><span class="annot"><a href="GHC.Enum.html#enumDeltaToInteger1"><span class="hs-identifier hs-type">enumDeltaToInteger1</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-930"></span><span class="hs-comment">-- Special case for Delta = 1</span><span>
</span><span id="line-931"></span><span id="enumDeltaToInteger1"><span class="annot"><span class="annottext">enumDeltaToInteger1 :: Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#enumDeltaToInteger1"><span class="hs-identifier hs-var hs-var">enumDeltaToInteger1</span></a></span></span><span> </span><span id="local-6989586621679492493"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492493"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492492"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492492"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer]
</span><a href="#local-6989586621679492491"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492493"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-932"></span><span>                      </span><span class="hs-keyword">where</span><span>
</span><span id="line-933"></span><span>                        </span><span id="local-6989586621679492491"><span class="annot"><span class="annottext">go :: Integer -&gt; [Integer]
</span><a href="#local-6989586621679492491"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492487"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492487"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492487"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var">&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492492"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-934"></span><span>                             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492487"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer] -&gt; [Integer]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer]
</span><a href="#local-6989586621679492491"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492487"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-935"></span><span>
</span><span id="line-936"></span><span id="local-6989586621679492486"><span class="annot"><a href="GHC.Enum.html#up_fb"><span class="hs-identifier hs-type">up_fb</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492486"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492486"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492486"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492486"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-937"></span><span id="up_fb"><span class="annot"><span class="annottext">up_fb :: forall a.
(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
</span><a href="GHC.Enum.html#up_fb"><span class="hs-identifier hs-var hs-var">up_fb</span></a></span></span><span> </span><span id="local-6989586621679492485"><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492485"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492484"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492484"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492483"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492483"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492482"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492482"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492481"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492481"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a
</span><a href="#local-6989586621679492480"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492483"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-938"></span><span>                      </span><span class="hs-keyword">where</span><span>
</span><span id="line-939"></span><span>                        </span><span id="local-6989586621679492480"><span class="annot"><span class="annottext">go :: Integer -&gt; a
</span><a href="#local-6989586621679492480"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492477"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492477"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492477"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var">&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492481"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492484"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-940"></span><span>                             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492477"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492485"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a
</span><a href="#local-6989586621679492480"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492477"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492482"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-941"></span><span id="local-6989586621679492476"><span class="annot"><a href="GHC.Enum.html#dn_fb"><span class="hs-identifier hs-type">dn_fb</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492476"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492476"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492476"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679492476"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-942"></span><span id="dn_fb"><span class="annot"><span class="annottext">dn_fb :: forall a.
(Integer -&gt; a -&gt; a) -&gt; a -&gt; Integer -&gt; Integer -&gt; Integer -&gt; a
</span><a href="GHC.Enum.html#dn_fb"><span class="hs-identifier hs-var hs-var">dn_fb</span></a></span></span><span> </span><span id="local-6989586621679492475"><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492475"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679492474"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492474"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679492473"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492473"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492472"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492472"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492471"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492471"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a
</span><a href="#local-6989586621679492470"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492473"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-943"></span><span>                      </span><span class="hs-keyword">where</span><span>
</span><span id="line-944"></span><span>                        </span><span id="local-6989586621679492470"><span class="annot"><span class="annottext">go :: Integer -&gt; a
</span><a href="#local-6989586621679492470"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492467"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492467"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492467"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var">&lt;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492471"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679492474"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-945"></span><span>                             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492467"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a -&gt; a
</span><a href="#local-6989586621679492475"><span class="hs-operator hs-var">`c`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; a
</span><a href="#local-6989586621679492470"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492467"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492472"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-946"></span><span>
</span><span id="line-947"></span><span class="annot"><a href="GHC.Enum.html#up_list"><span class="hs-identifier hs-type">up_list</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-948"></span><span id="up_list"><span class="annot"><span class="annottext">up_list :: Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#up_list"><span class="hs-identifier hs-var hs-var">up_list</span></a></span></span><span> </span><span id="local-6989586621679492465"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492465"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492464"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492464"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492463"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492463"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer]
</span><a href="#local-6989586621679492462"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492465"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-949"></span><span>                    </span><span class="hs-keyword">where</span><span>
</span><span id="line-950"></span><span>                        </span><span id="local-6989586621679492462"><span class="annot"><span class="annottext">go :: Integer -&gt; [Integer]
</span><a href="#local-6989586621679492462"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492459"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492459"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492459"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var">&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492463"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-951"></span><span>                             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492459"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer] -&gt; [Integer]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer]
</span><a href="#local-6989586621679492462"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492459"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492464"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-952"></span><span class="annot"><a href="GHC.Enum.html#dn_list"><span class="hs-identifier hs-type">dn_list</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-953"></span><span id="dn_list"><span class="annot"><span class="annottext">dn_list :: Integer -&gt; Integer -&gt; Integer -&gt; [Integer]
</span><a href="GHC.Enum.html#dn_list"><span class="hs-identifier hs-var hs-var">dn_list</span></a></span></span><span> </span><span id="local-6989586621679492458"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492458"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492457"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492457"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492456"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492456"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer]
</span><a href="#local-6989586621679492455"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492458"><span class="hs-identifier hs-var">x0</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-954"></span><span>                    </span><span class="hs-keyword">where</span><span>
</span><span id="line-955"></span><span>                        </span><span id="local-6989586621679492455"><span class="annot"><span class="annottext">go :: Integer -&gt; [Integer]
</span><a href="#local-6989586621679492455"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492452"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492452"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492452"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var">&lt;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492456"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-956"></span><span>                             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492452"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer] -&gt; [Integer]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; [Integer]
</span><a href="#local-6989586621679492455"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492452"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679492457"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-957"></span><span>
</span><span id="line-958"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-959"></span><span class="hs-comment">-- Natural</span><span>
</span><span id="line-960"></span><span class="hs-comment">------------------------------------------------------------------------</span><span>
</span><span id="line-961"></span><span>
</span><span id="line-962"></span><span class="hs-comment">-- | @since 4.8.0.0</span><span>
</span><span id="line-963"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-964"></span><span>    </span><span id="local-6989586621679492440"><span class="annot"><span class="annottext">succ :: Natural -&gt; Natural
</span><a href="#local-6989586621679492440"><span class="hs-identifier hs-var hs-var hs-var hs-var">succ</span></a></span></span><span> </span><span id="local-6989586621679492439"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492439"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492439"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-number">1</span></span><span>
</span><span id="line-965"></span><span>    </span><span id="local-6989586621679492436"><span class="annot"><span class="annottext">pred :: Natural -&gt; Natural
</span><a href="#local-6989586621679492436"><span class="hs-identifier hs-var hs-var hs-var hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679492435"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492435"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492435"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-number">1</span></span><span>
</span><span id="line-966"></span><span>    </span><span id="local-6989586621679492432"><span class="annot"><span class="annottext">toEnum :: Int -&gt; Natural
</span><a href="#local-6989586621679492432"><span class="hs-identifier hs-var hs-var hs-var hs-var">toEnum</span></a></span></span><span> </span><span id="local-6989586621679492431"><span class="annot"><span class="annottext">i :: Int
</span><a href="#local-6989586621679492431"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679492430"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492430"><span class="hs-identifier hs-var">i#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-967"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492431"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="../../ghc-bignum/src/GHC.Num.Natural.html#naturalFromWord%23"><span class="hs-identifier hs-var">naturalFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679492430"><span class="hs-identifier hs-var">i#</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-968"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Natural
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;toEnum: unexpected negative Int&quot;</span></span><span>
</span><span id="line-969"></span><span>
</span><span id="line-970"></span><span>    </span><span id="local-6989586621679492425"><span class="annot"><span class="annottext">fromEnum :: Natural -&gt; Int
</span><a href="#local-6989586621679492425"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromEnum</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679492424"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492424"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-971"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492423"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679492423"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-972"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Int
forall a. String -&gt; a
</span><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier hs-var">errorWithoutStackTrace</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fromEnum: out of Int range&quot;</span></span><span>
</span><span id="line-973"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-974"></span><span>        </span><span id="local-6989586621679492423"><span class="annot"><span class="annottext">i :: Int
</span><a href="#local-6989586621679492423"><span class="hs-identifier hs-var hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679492424"><span class="hs-identifier hs-var">w</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-975"></span><span>    </span><span class="annot"><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span id="local-6989586621679492422"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492422"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Int
forall a. Enum a =&gt; a -&gt; Int
</span><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier hs-var">fromEnum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Integer
</span><a href="../../ghc-bignum/src/GHC.Num.Integer.html#integerFromNatural"><span class="hs-identifier hs-var">integerFromNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492422"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-976"></span><span>
</span><span id="line-977"></span><span>    </span><span id="local-6989586621679492420"><span class="annot"><span class="annottext">enumFrom :: Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFrom</span></a></span></span><span> </span><span id="local-6989586621679492419"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492419"><span class="hs-identifier hs-var">x</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaNatural"><span class="hs-identifier hs-var">enumDeltaNatural</span></a></span><span>      </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492419"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-number">1</span></span><span>
</span><span id="line-978"></span><span>    </span><span id="local-6989586621679492412"><span class="annot"><span class="annottext">enumFromThen :: Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThen</span></a></span></span><span> </span><span id="local-6989586621679492411"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492411"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492410"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492410"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-979"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492411"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492410"><span class="hs-identifier hs-var">y</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaNatural"><span class="hs-identifier hs-var">enumDeltaNatural</span></a></span><span>      </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492411"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492410"><span class="hs-identifier hs-var">y</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492411"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-980"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumNegDeltaToNatural"><span class="hs-identifier hs-var">enumNegDeltaToNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492411"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492411"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492410"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-number">0</span></span><span>
</span><span id="line-981"></span><span>
</span><span id="line-982"></span><span>    </span><span id="local-6989586621679492407"><span class="annot"><span class="annottext">enumFromTo :: Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromTo</span></a></span></span><span> </span><span id="local-6989586621679492406"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492406"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492405"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492405"><span class="hs-identifier hs-var">lim</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaToNatural"><span class="hs-identifier hs-var">enumDeltaToNatural</span></a></span><span>    </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492406"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-number">1</span></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492405"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-983"></span><span>    </span><span id="local-6989586621679492400"><span class="annot"><span class="annottext">enumFromThenTo :: Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier hs-var hs-var hs-var hs-var">enumFromThenTo</span></a></span></span><span> </span><span id="local-6989586621679492399"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492399"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492398"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492398"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span id="local-6989586621679492397"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492397"><span class="hs-identifier hs-var">lim</span></a></span></span><span>
</span><span id="line-984"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492399"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492398"><span class="hs-identifier hs-var">y</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaToNatural"><span class="hs-identifier hs-var">enumDeltaToNatural</span></a></span><span>    </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492399"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492398"><span class="hs-identifier hs-var">y</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492399"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492397"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-985"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumNegDeltaToNatural"><span class="hs-identifier hs-var">enumNegDeltaToNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492399"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492399"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492398"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492397"><span class="hs-identifier hs-var">lim</span></a></span><span>
</span><span id="line-986"></span><span>
</span><span id="line-987"></span><span class="hs-comment">-- Helpers for 'Enum Natural'; TODO: optimise &amp; make fusion work</span><span>
</span><span id="line-988"></span><span>
</span><span id="line-989"></span><span class="annot"><a href="GHC.Enum.html#enumDeltaNatural"><span class="hs-identifier hs-type">enumDeltaNatural</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-990"></span><span id="enumDeltaNatural"><span class="annot"><span class="annottext">enumDeltaNatural :: Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaNatural"><span class="hs-identifier hs-var hs-var">enumDeltaNatural</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679492396"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492396"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679492395"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492395"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492396"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural] -&gt; [Natural]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaNatural"><span class="hs-identifier hs-var">enumDeltaNatural</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492396"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492395"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492395"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-991"></span><span>
</span><span id="line-992"></span><span class="annot"><a href="GHC.Enum.html#enumDeltaToNatural"><span class="hs-identifier hs-type">enumDeltaToNatural</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-993"></span><span id="enumDeltaToNatural"><span class="annot"><span class="annottext">enumDeltaToNatural :: Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumDeltaToNatural"><span class="hs-identifier hs-var hs-var">enumDeltaToNatural</span></a></span></span><span> </span><span id="local-6989586621679492394"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492394"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492393"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492393"><span class="hs-identifier hs-var">delta</span></a></span></span><span> </span><span id="local-6989586621679492392"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492392"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural]
</span><a href="#local-6989586621679492391"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492394"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-994"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-995"></span><span>    </span><span id="local-6989586621679492391"><span class="annot"><span class="annottext">go :: Natural -&gt; [Natural]
</span><a href="#local-6989586621679492391"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492388"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492388"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492388"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var">&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492392"><span class="hs-identifier hs-var">lim</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-996"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492388"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural] -&gt; [Natural]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural]
</span><a href="#local-6989586621679492391"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492388"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492393"><span class="hs-identifier hs-var">delta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-997"></span><span>
</span><span id="line-998"></span><span class="annot"><a href="GHC.Enum.html#enumNegDeltaToNatural"><span class="hs-identifier hs-type">enumNegDeltaToNatural</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-999"></span><span id="enumNegDeltaToNatural"><span class="annot"><span class="annottext">enumNegDeltaToNatural :: Natural -&gt; Natural -&gt; Natural -&gt; [Natural]
</span><a href="GHC.Enum.html#enumNegDeltaToNatural"><span class="hs-identifier hs-var hs-var">enumNegDeltaToNatural</span></a></span></span><span> </span><span id="local-6989586621679492387"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492387"><span class="hs-identifier hs-var">x0</span></a></span></span><span> </span><span id="local-6989586621679492386"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492386"><span class="hs-identifier hs-var">ndelta</span></a></span></span><span> </span><span id="local-6989586621679492385"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492385"><span class="hs-identifier hs-var">lim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural]
</span><a href="#local-6989586621679492384"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492387"><span class="hs-identifier hs-var">x0</span></a></span><span>
</span><span id="line-1000"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-1001"></span><span>    </span><span id="local-6989586621679492384"><span class="annot"><span class="annottext">go :: Natural -&gt; [Natural]
</span><a href="#local-6989586621679492384"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679492380"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492380"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492380"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var">&lt;</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492385"><span class="hs-identifier hs-var">lim</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-1002"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492380"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492386"><span class="hs-identifier hs-var">ndelta</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492380"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural] -&gt; [Natural]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">Natural -&gt; [Natural]
</span><a href="#local-6989586621679492384"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492380"><span class="hs-identifier hs-var">x</span></a></span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492386"><span class="hs-identifier hs-var">ndelta</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1003"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679492380"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-1004"></span><span>
</span><span id="line-1005"></span><span>
</span><span id="line-1006"></span><span class="hs-comment">-- Instances from GHC.Types</span><span>
</span><span id="line-1007"></span><span>
</span><span id="line-1008"></span><span class="hs-comment">-- | @since 4.10.0.0</span><span>
</span><span id="line-1009"></span><span id="local-6989586621679492376"><span id="local-6989586621679492378"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#VecCount"><span class="hs-identifier hs-type">VecCount</span></a></span></span></span><span>
</span><span id="line-1010"></span><span class="hs-comment">-- | @since 4.10.0.0</span><span>
</span><span id="line-1011"></span><span id="local-6989586621679492342"><span id="local-6989586621679492344"><span id="local-6989586621679492348"><span id="local-6989586621679492351"><span id="local-6989586621679492353"><span id="local-6989586621679492361"><span id="local-6989586621679492367"><span id="local-6989586621679492373"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#VecCount"><span class="hs-identifier hs-type">VecCount</span></a></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-1012"></span><span>
</span><span id="line-1013"></span><span class="hs-comment">-- | @since 4.10.0.0</span><span>
</span><span id="line-1014"></span><span id="local-6989586621679492338"><span id="local-6989586621679492340"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-type">Bounded</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#VecElem"><span class="hs-identifier hs-type">VecElem</span></a></span></span></span><span>
</span><span id="line-1015"></span><span class="hs-comment">-- | @since 4.10.0.0</span><span>
</span><span id="line-1016"></span><span id="local-6989586621679492304"><span id="local-6989586621679492306"><span id="local-6989586621679492310"><span id="local-6989586621679492313"><span id="local-6989586621679492315"><span id="local-6989586621679492323"><span id="local-6989586621679492329"><span id="local-6989586621679492335"><span class="hs-keyword">deriving</span><span> </span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-type">Enum</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#VecElem"><span class="hs-identifier hs-type">VecElem</span></a></span></span></span></span></span></span></span></span></span><span>
</span><span id="line-1017"></span></pre></body></html>